mirror of
https://sourceware.org/git/glibc.git
synced 2024-12-11 22:00:08 +00:00
569c558c88
Mon Sep 9 20:31:27 1996 Ulrich Drepper <drepper@cygnus.com> * version.c (banner): Report to bug-glibc@prep not @gnu. Reported by Andreas Jaeger. * libio/stdio.h [!__USE_REENTRANT]: Don't define getc as _IO_getc_unlocked. [__USE_REENTRANT]: Don't define Mon Sep 9 15:59:32 1996 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/strrchr.c: Fix bug where NUL byte is not recognized when it is the third byte in the string. Reported by NIIBE Yutaka. * string/tester.c: Add tests for above bug to strlen, strchr, and strrchr tests. Fri Sep 6 21:23:33 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/m68k/fpu/e_acos.c: Deansideclized. Include "math_private.h" to get prototype. * sysdeps/m68k/fpu/e_fmod.c: Likewise. * sysdeps/m68k/fpu/k_cos.c: Likewise. * sysdeps/m68k/fpu/k_sin.c: Likewise. * sysdeps/m68k/fpu/k_tan.c: Likewise. * sysdeps/m68k/fpu/k_sin.c: Remove uneeded indirection of __m81_u. * sysdeps/m68k/fpu/k_tan.c: Likewise. Sun Sep 1 18:01:35 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/m68k/fpu/__math.h: Check for __NO_M81_MATH_INLINES instead of __NO_MATH_INLINES. (__M81_MATH_INLINES): Renamed from __MATH_INLINES. * sysdeps/m68k/fpu/e_acos.c: Define __NO_M81_MATH_INLINES. * sysdeps/m68k/fpu/e_fmod.c: Likewise. * sysdeps/m68k/fpu/k_cos.c: Likewise. * sysdeps/m68k/fpu/k_sin.c: Likewise. * sysdeps/m68k/fpu/k_tan.c: Likewise. * sysdeps/m68k/fpu/s_atan.c: Likewise. * sysdeps/m68k/fpu/s_frexp.c: Likewise. * sysdeps/m68k/fpu/s_ilogb.c: Likewise. * sysdeps/m68k/fpu/s_isinf.c: Likewise. * sysdeps/m68k/fpu/s_ldexp.c: Likewise. * sysdeps/m68k/fpu/s_modf.c: Likewise. * sysdeps/m68k/fpu/k_cos.c: Use inline version of __cos. * sysdeps/m68k/fpu/k_sin.c: Likewise. * sysdeps/m68k/fpu/k_tan.c: Likewise. Mon Sep 9 12:55:14 1996 Ulrich Drepper <drepper@cygnus.com> * nss/nss_files/files-parse.c (INT_FIELD_MAYBE_NULL): Check for available character before converting number and return with error if none is available. Fri Sep 6 22:09:08 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/sysv/linux/init-first.h: New file, generic implementation for architectures where parameters are passed on stack. * sysdeps/unix/sysv/linux/m68k/init-first.h: Removed. * sysdeps/unix/sysv/linux/i386/init-first.h: Removed. Fri Sep 6 22:05:32 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * configure.in: Remove unneeded sysnames frobbing. Mon Sep 9 05:29:09 1996 Ulrich Drepper <drepper@cygnus.com> * time/zic.c: Update from ADO 96l. * time/africa: Update from ADO 96k. * time/antarctica: Likewise. * time/asia: Likewise. * time/australia: Likewise. * time/europe: Likewise. * time/northamerica: Likewise. * time/southamerica: Likewise. Mon Sep 9 05:03:47 1996 NIIBE Yutaka <gniibe@mri.co.jp> * sysdeps/unix/sysv/linux/i386/init-first.h: Work around buggy gcc <= 2.7.2.1 which optimizes away address operations on weak objects. * nss/nss_files/files-parse.c (INT_FIELD_MAYBE_NULL): New macro. Like INT_FIELD but also accept non-existing field. * shadow/sgetspent_r.c (LINE_PARSER): Use INT_FIELD_MAYBE_NULL for last four fields. * shadow/putspent.c (putspent): Print `:' after numeric value. Mon Sep 9 02:42:48 1996 Richard Henderson <rth@tamu.edu> * libio/stdio.h (BUFSIZ): Define using _IO_BUFSIZ. Sun Sep 8 16:43:56 1996 Ulrich Drepper <drepper@cygnus.com> * Make-dist: Filter out $(add-ons) from $(subdirs). Don't distribute TAGS files. ($(tardir).tar): Remove dist.tar when all is done. * manual/Makefile (distribute): Add libc.info*. * libio/Makefile (distribute): Add Banner. * inet/Makefile (headers): Add netinet/tcp.h. * resolv/Makefile (libresolv-routines): Add getnetnamadr. * crypt-README: Removed. * gnu-stabs.h: Removed. * sysdeps/alpha/copysign.S: Renamed to... * sysdeps/alpha/s_copysign.S: ...this. * sysdeps/alpha/fabs.S: Renamed to... * sysdeps/alpha/s_fabs.S: ...this. * sysdeps/m68k/isinfl.c: Renamed to... * sysdeps/m68k/s_isinfl.c: ...this. * sysdeps/m68k/isnanl.c: Renamed to... * sysdeps/m68k/s_isnanl.c: ...this. * sysdeps/sparc/sqrt.c: Renamed to... * sysdeps/sparc/e_sqrt.c: ...this. Function name now is __ieee754_sqrt. * sysdeps/generic/get_str.c: Removed. * sysdeps/ieee754/cbrt.c: Removed. * sysdeps/ieee754/drem.c: Removed. * sysdeps/ieee754/logb.c: Removed. * sysdeps/ieee754/sqrt.c: Removed. * sysdeps/stub/cbrt.c: Removed. * sysdeps/stub/cos.c: Removed. * sysdeps/stub/drem.c: Removed. * sysdeps/stub/isinf.c: Removed. * sysdeps/stub/isinfl.c: Removed. * sysdeps/stub/isnanl.c: Removed. * sysdeps/stub/logb.c: Removed. * sysdeps/stub/sin.c: Removed. * sysdeps/stub/sqrt.c: Removed. * sysdeps/tahoe/log10.c: Removed. * sysdeps/vax/index.s: Removed. * sysdeps/vax/rindex.s: Removed. * sysdeps/vax/bcmp.s: Removed. * sysdeps/vax/log10.c: Removed. * sysdeps/vax/infnan.c: Removed. * sysdeps/vax/Dist: Add fl.h. * sysdeps/unix/sysv/linux/alpha/Dist: Add llseek.S. * inet/rcmd.c (rcmd): Make messages more uniform. Sun Sep 8 14:15:42 1996 Ulrich Drepper <drepper@cygnus.com> * po/de.po: Update. * po/es.po: Update. * po/ko.po: Update. * po/pl.po: New file. * po/nl.po: New file. take care for a possible clash. Nobody will name the domain
81 lines
2.3 KiB
C
81 lines
2.3 KiB
C
/* Copyright (C) 1991, 1992, 1996 Free Software Foundation, Inc.
|
|
This file is part of the GNU C Library.
|
|
|
|
The GNU C Library is free software; you can redistribute it and/or
|
|
modify it under the terms of the GNU Library General Public License as
|
|
published by the Free Software Foundation; either version 2 of the
|
|
License, or (at your option) any later version.
|
|
|
|
The GNU C Library is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
Library General Public License for more details.
|
|
|
|
You should have received a copy of the GNU Library General Public
|
|
License along with the GNU C Library; see the file COPYING.LIB. If
|
|
not, write to the Free Software Foundation, Inc., 675 Mass Ave,
|
|
Cambridge, MA 02139, USA. */
|
|
|
|
#include <errno.h>
|
|
#include <stdio.h>
|
|
#include <shadow.h>
|
|
|
|
|
|
/* Write an entry to the given stream.
|
|
This must know the format of the password file. */
|
|
int
|
|
putspent (const struct spwd *p, FILE *stream)
|
|
{
|
|
int errors = 0;
|
|
|
|
if (fprintf (stream, "%s:%s:", p->sp_namp, p->sp_pwdp) < 0)
|
|
++errors;
|
|
|
|
if ((p->sp_lstchg != (time_t) -1
|
|
&& fprintf (stream, "%ld:", p->sp_lstchg) < 0)
|
|
|| (p->sp_lstchg == (time_t) -1
|
|
&& putc (':', stream) == EOF))
|
|
++errors;
|
|
|
|
if ((p->sp_min != (time_t) -1
|
|
&& fprintf (stream, "%ld:", p->sp_min) < 0)
|
|
|| (p->sp_min == (time_t) -1
|
|
&& putc (':', stream) == EOF))
|
|
++errors;
|
|
|
|
if ((p->sp_max != (time_t) -1
|
|
&& fprintf (stream, "%ld:", p->sp_max) < 0)
|
|
|| (p->sp_max == (time_t) -1
|
|
&& putc (':', stream) == EOF))
|
|
++errors;
|
|
|
|
if ((p->sp_warn != (time_t) -1
|
|
&& fprintf (stream, "%ld:", p->sp_warn) < 0)
|
|
|| (p->sp_warn == (time_t) -1
|
|
&& putc (':', stream) == EOF))
|
|
++errors;
|
|
|
|
if ((p->sp_inact != (time_t) -1
|
|
&& fprintf (stream, "%ld:", p->sp_inact) < 0)
|
|
|| (p->sp_inact == (time_t) -1
|
|
&& putc (':', stream) == EOF))
|
|
++errors;
|
|
|
|
if ((p->sp_expire != (time_t) -1
|
|
&& fprintf (stream, "%ld:", p->sp_expire) < 0)
|
|
|| (p->sp_expire == (time_t) -1
|
|
&& putc (':', stream) == EOF))
|
|
++errors;
|
|
|
|
if ((p->sp_flag != ~0ul
|
|
&& fprintf (stream, "%ld:", p->sp_flag) < 0)
|
|
|| (p->sp_flag == ~0ul
|
|
&& putc (':', stream) == EOF))
|
|
++errors;
|
|
|
|
if (putc ('\n', stream) == EOF)
|
|
++errors;
|
|
|
|
return errors ? -1 : 0;
|
|
}
|