From a53bad166c677459239011bcb3275b87c8c38584 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Mon, 22 Jun 1998 17:08:51 +0000 Subject: Update. 1998-06-22 17:02 Ulrich Drepper * sysdeps/generic/enbl-secure.c: Don't use __libc_uid. * sysdeps/unix/sysv/linux/aio_sigqueue.c: Likewise. * sysdeps/unix/sysv/linux/sigqueue.c: Likewise. * sysdeps/unix/sysv/linux/init-first.c: Don't initialize __libc_uid. 1998-06-02 Gordon Matzigkeit * mach/Makefile: Change `mv' invocations to `mv -f'. * mach/Machrules: Likewise. 1998-06-22 Andreas Jaeger * config.make.in (old-glibc-headers): Add it. * configure.in: Add test for glibc 2.0.x headers. * Makefile (headers2_0): New variable - contains so far only Linux/Intel glibc 2.0.x headers. (remove-old-headers): New rule to remove headers from glibc 2.0.x. (install): Depend on remove-old-headers. 1998-06-19 Mark Kettenis * sysdeps/generic/ftruncate.c: Define function as __ftruncate and make ftruncate a weak alias. * sysdeps/mach/hurd/ftruncate.c: Really define function as __ftruncate. * sysdeps/mach/hurd/truncate.c: Include . (truncate): Fix function defenition to match prototype. 1998-06-20 Mark Kettenis * manual/terminal.texi: Document ttyname_r, getpt, grantpt, unlockpt, ptsname, ptsname_r, openpty and forkpty. 1998-06-22 Ulrich Drepper * sysdeps/generic/glob.c: Make it possible to include glob.h before loading glob.c. Reported by Felix von Leitner . 1998-06-22 Andreas Jaeger * nscd/connections.c: Use poll() instead of select(). 1998-06-22 14:08 Andreas Schwab * sysdeps/generic/Dist: Fix typo. 1998-06-20 Thorsten Kukuk * nis/nis_add.c: Avoid unnecessary strlen () calls. * nis/nis_addmember.c: Likewise. * nis/nis_call.c: Likewise. * nis/nis_creategroup.c: Likewise. * nis/nis_destroygroup.c: Likewise. * nis/nis_findserv.c: Likewise. * nis/nis_ismember.c: Likewise. * nis/nis_print.c: Likewise. * nis/nis_print_group_entry.c: Likewise. * nis/nis_removemember.c: Likewise. * nis/nis_verifygroup.c: Likewise. * nis/ypclnt.c: Likewise. * nis/nis_file.c: Close file handles. * nis/nis_callback.c: Fix typo. --- nis/nis_file.c | 32 ++++++++++++++++++++------------ 1 file changed, 20 insertions(+), 12 deletions(-) (limited to 'nis/nis_file.c') diff --git a/nis/nis_file.c b/nis/nis_file.c index 4634e67f61..94fa4eb865 100644 --- a/nis/nis_file.c +++ b/nis/nis_file.c @@ -30,6 +30,7 @@ readColdStartFile (void) { XDR xdrs; FILE *in; + bool_t status; directory_obj obj; in = fopen (cold_start_file, "rb"); @@ -37,10 +38,11 @@ readColdStartFile (void) return NULL; memset (&obj, '\0', sizeof (obj)); xdrstdio_create (&xdrs, in, XDR_DECODE); - if (!_xdr_directory_obj (&xdrs, &obj)) - return NULL; + status = _xdr_directory_obj (&xdrs, &obj); + xdr_destroy (&xdrs); + fclose (in); - return nis_clone_directory (&obj, NULL); + return status ? nis_clone_directory (&obj, NULL) : NULL; } bool_t @@ -48,16 +50,18 @@ writeColdStartFile (const directory_obj *obj) { XDR xdrs; FILE *out; + bool_t status; out = fopen (cold_start_file, "wb"); if (out == NULL) return FALSE; xdrstdio_create (&xdrs, out, XDR_ENCODE); - if (!_xdr_directory_obj (&xdrs, (directory_obj *) obj)) - return FALSE; + status = _xdr_directory_obj (&xdrs, (directory_obj *) obj); + xdr_destroy (&xdrs); + fclose (out); - return TRUE; + return status; } nis_object * @@ -65,6 +69,7 @@ nis_read_obj (const char *name) { XDR xdrs; FILE *in; + bool_t status; nis_object obj; in = fopen (name, "rb"); @@ -73,10 +78,11 @@ nis_read_obj (const char *name) memset (&obj, '\0', sizeof (obj)); xdrstdio_create (&xdrs, in, XDR_DECODE); - if (!_xdr_nis_object (&xdrs, &obj)) - return NULL; + status =_xdr_nis_object (&xdrs, &obj); + xdr_destroy (&xdrs); + fclose (in); - return nis_clone_object (&obj, NULL); + return status ? nis_clone_object (&obj, NULL) : NULL; } bool_t @@ -84,14 +90,16 @@ nis_write_obj (const char *name, const nis_object *obj) { XDR xdrs; FILE *out; + bool_t status; out = fopen (name, "wb"); if (out == NULL) return FALSE; xdrstdio_create (&xdrs, out, XDR_ENCODE); - if (!_xdr_nis_object (&xdrs, (nis_object *) obj)) - return FALSE; + status = _xdr_nis_object (&xdrs, (nis_object *) obj); + xdr_destroy (&xdrs); + fclose (out); - return TRUE; + return status; } -- cgit v1.2.3