1/* This testcase is part of GDB, the GNU debugger. 2 3 Copyright 2005-2023 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#include <unistd.h> 21 22long lines = 0; 23 24int main() 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 return 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 return 0; /* breakpoint 4 */ 60} 61