OSDN Git Service

Merge branch 'master' of git://github.com/monaka/binutils
[pf3gnuchains/pf3gnuchains3x.git] / gdb / testsuite / gdb.base / checkpoint.c
1 /* This testcase is part of GDB, the GNU debugger.
2
3    Copyright 2005, 2006, 2007, 2008, 2009, 2010 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
21 long lines = 0;
22
23 main()
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 %ld\n", i);
44       if (ftell (out) != i)
45         fprintf (stderr, "Output error at %ld\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 }