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