2 * Copyright (C) 2006-2007 Free Software Foundation
3 * Written by Simon Josefsson
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 2, or (at your option)
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.
15 * You should have received a copy of the GNU General Public License
16 * along with this program; if not, write to the Free Software
17 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
24 #include "read-file.h"
30 #define FILE1 "/etc/resolv.conf"
31 #define FILE2 "/dev/null"
39 /* We can perform the test only if the file exists and is readable.
40 Test whether it exists, then assume it is world-readable. */
41 if (stat (FILE1, &statbuf) >= 0)
44 char *out = read_file (FILE1, &len);
48 perror ("Could not read file");
55 perror ("BAD: out[len] not zero");
59 /* Assume FILE1 is a regular file or a symlink to a regular file. */
60 if (len != statbuf.st_size)
62 fprintf (stderr, "Read %ld from %s...\n", (unsigned long) len, FILE1);
69 /* We can perform the test only if the file exists and is readable.
70 Test whether it exists, then assume it is world-readable. */
71 if (stat (FILE2, &statbuf) >= 0)
74 char *out = read_file (FILE2, &len);
78 perror ("Could not read file");
85 perror ("BAD: out[len] not zero");
89 /* /dev/null should always be empty. Ignore statbuf.st_size, since it
90 is not a regular file. */
93 fprintf (stderr, "Read %ld from %s...\n", (unsigned long) len, FILE2);