summaryrefslogtreecommitdiff
path: root/nis/nis_file.c
diff options
context:
space:
mode:
Diffstat (limited to 'nis/nis_file.c')
-rw-r--r--nis/nis_file.c18
1 files changed, 12 insertions, 6 deletions
diff --git a/nis/nis_file.c b/nis/nis_file.c
index 002e72ed20..ccff52f0bc 100644
--- a/nis/nis_file.c
+++ b/nis/nis_file.c
@@ -23,6 +23,9 @@
#include <rpcsvc/nis.h>
#include <rpcsvc/nislib.h>
+
+static const char cold_start_file[] = "/var/nis/NIS_COLD_START";
+
directory_obj *
readColdStartFile (void)
{
@@ -30,17 +33,17 @@ readColdStartFile (void)
FILE *in;
directory_obj obj;
- in = fopen ("/var/nis/NIS_COLD_START", "rb");
+ in = fopen (cold_start_file, "rb");
if (in == NULL)
{
- fputs (_("Error: Could not open /var/nis/NIS_COLD_START!\n"), stdout);
+ printf (_("Error while opening %s for reading: %m"), cold_start_file);
return NULL;
}
memset (&obj, '\0', sizeof (obj));
xdrstdio_create (&xdrs, in, XDR_DECODE);
if (!xdr_directory_obj (&xdrs, &obj))
{
- fputs (("Error while reading /var/nis/NIS_COLD_START!\n"), stdout);
+ printf (_("Error while reading %s: %m"), cold_start_file);
return NULL;
}
@@ -53,16 +56,19 @@ writeColdStartFile (const directory_obj *obj)
XDR xdrs;
FILE *out;
- out = fopen ("/var/nis/NIS_COLD_START", "wb");
+ out = fopen (cold_start_file, "wb");
if (out == NULL)
- return FALSE;
+ {
+ printf (_("Error while opening %s for writing: %m"), cold_start_file);
+ return FALSE;
+ }
xdrstdio_create (&xdrs, out, XDR_ENCODE);
/* XXX The following cast is bad! Shouldn't the XDR functions take
pointers to const objects? */
if (!xdr_directory_obj (&xdrs, (directory_obj *) obj))
{
- fputs (_("Error while reading /var/nis/NIS_COLD_START!\n"), stdout);
+ printf (_("Error while writing %s: %m"), cold_start_file);
return FALSE;
}