diff options
author | Ulrich Drepper <drepper@redhat.com> | 1998-06-22 17:08:51 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 1998-06-22 17:08:51 +0000 |
commit | a53bad166c677459239011bcb3275b87c8c38584 (patch) | |
tree | c02a4e897a0cc8505b96167e1c5343c4a8246fe5 /nis/nis_file.c | |
parent | 899d423eaf3f66e59ffffefe40b2ba2137bd0050 (diff) | |
download | glibc-a53bad166c677459239011bcb3275b87c8c38584.tar.gz glibc-a53bad166c677459239011bcb3275b87c8c38584.tar.xz glibc-a53bad166c677459239011bcb3275b87c8c38584.zip |
Update.
1998-06-22 17:02 Ulrich Drepper <drepper@cygnus.com> * 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 <gord@profitpress.com> * mach/Makefile: Change `mv' invocations to `mv -f'. * mach/Machrules: Likewise. 1998-06-22 Andreas Jaeger <aj@arthur.rhein-neckar.de> * 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 <kettenis@phys.uva.nl> * 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 <unistd.h>. (truncate): Fix function defenition to match prototype. 1998-06-20 Mark Kettenis <kettenis@phys.uva.nl> * manual/terminal.texi: Document ttyname_r, getpt, grantpt, unlockpt, ptsname, ptsname_r, openpty and forkpty. 1998-06-22 Ulrich Drepper <drepper@cygnus.com> * sysdeps/generic/glob.c: Make it possible to include glob.h before loading glob.c. Reported by Felix von Leitner <leitner@math.fu-berlin.de>. 1998-06-22 Andreas Jaeger <aj@arthur.rhein-neckar.de> * nscd/connections.c: Use poll() instead of select(). 1998-06-22 14:08 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/generic/Dist: Fix typo. 1998-06-20 Thorsten Kukuk <kukuk@vt.uni-paderborn.de> * 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.
Diffstat (limited to 'nis/nis_file.c')
-rw-r--r-- | nis/nis_file.c | 32 |
1 files changed, 20 insertions, 12 deletions
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; } |