1/* This testcase is part of GDB, the GNU debugger. 2 3 Copyright 2005, 2006, 2007, 2008, 2009, 2010, 2011 4 Free Software Foundation, Inc. 5 6 This program is free software; you can redistribute it and/or modify 7 it under the terms of the GNU General Public License as published by 8 the Free Software Foundation; either version 3 of the License, or 9 (at your option) any later version. 10 11 This program is distributed in the hope that it will be useful, 12 but WITHOUT ANY WARRANTY; without even the implied warranty of 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 GNU General Public License for more details. 15 16 You should have received a copy of the GNU General Public License 17 along with this program. If not, see <http://www.gnu.org/licenses/>. */ 18 19#include <stdlib.h> 20#include <stdio.h> 21 22long lines = 0; 23 24main() 25{ 26 char linebuf[128]; 27 FILE *in, *out; 28 char *tmp = &linebuf[0]; 29 long i; 30 int c = 0; 31 32 in = fopen ("pi.txt", "r"); 33 out = fopen ("copy1.txt", "w"); 34 35 if (!in || !out) 36 { 37 fprintf (stderr, "File open failed\n"); 38 exit (1); 39 } 40 41 for (i = 0; ; i++) 42 { 43 if (ftell (in) != i) 44 fprintf (stderr, "Input error at %ld\n", i); 45 if (ftell (out) != i) 46 fprintf (stderr, "Output error at %ld\n", i); 47 c = fgetc (in); 48 if (c == '\n') 49 lines++; /* breakpoint 1 */ 50 if (c == EOF) 51 break; 52 fputc (c, out); 53 } 54 printf ("Copy complete.\n"); /* breakpoint 2 */ 55 fclose (in); 56 fclose (out); 57 printf ("Deleting copy.\n"); /* breakpoint 3 */ 58 unlink ("copy1.txt"); 59 exit (0); /* breakpoint 4 */ 60} 61