diff options
Diffstat (limited to 'grp/putgrent.c')
-rw-r--r-- | grp/putgrent.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/grp/putgrent.c b/grp/putgrent.c index cb9b6b1f79..382d6a4daa 100644 --- a/grp/putgrent.c +++ b/grp/putgrent.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991, 92, 96, 98, 99, 2000 Free Software Foundation, Inc. +/* Copyright (C) 1991,92,96,98,99,2000,2005 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 @@ -44,8 +44,13 @@ putgrent (gr, stream) flockfile (stream); - retval = fprintf (stream, "%s:%s:%u:", - gr->gr_name, _S (gr->gr_passwd), gr->gr_gid); + if (gr->gr_name[0] == '+' || gr->gr_name[0] == '-') + retval = fprintf (stream, "%s:%s::", + gr->gr_name, _S (gr->gr_passwd)); + else + retval = fprintf (stream, "%s:%s:%lu:", + gr->gr_name, _S (gr->gr_passwd), + (unsigned long int) gr->gr_gid); if (__builtin_expect (retval, 0) < 0) { funlockfile (stream); |