aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Faylor <me@cgf.cx>2003-01-25 16:34:32 +0000
committerChristopher Faylor <me@cgf.cx>2003-01-25 16:34:32 +0000
commita53ddfe6c29df694c1e4c84179f3f4e95e3dbf06 (patch)
treed799d1c11b1fb9712aafa7b471c34283ff935c1d
parent4f7e12dd266a28d72693b090e3ae8d2a49926005 (diff)
downloadnewlib-a53ddfe6c29df694c1e4c84179f3f4e95e3dbf06.zip
newlib-a53ddfe6c29df694c1e4c84179f3f4e95e3dbf06.tar.gz
newlib-a53ddfe6c29df694c1e4c84179f3f4e95e3dbf06.tar.bz2
* pwdgrp.cc (pwdgrp::reparse): Declare.
* uinfo.cc (pwdgrp::reparse): Define. * grp.cc (pwdgrp::parse_group): Use.
-rw-r--r--winsup/cygwin/ChangeLog6
-rw-r--r--winsup/cygwin/grp.cc1
-rw-r--r--winsup/cygwin/pwdgrp.h5
-rw-r--r--winsup/cygwin/uinfo.cc6
4 files changed, 16 insertions, 2 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index e27d5dc..404fd0e 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,3 +1,9 @@
+2003-01-25 Christopher Faylor <cgf@redhat.com>
+
+ * pwdgrp.cc (pwdgrp::reparse): Declare.
+ * uinfo.cc (pwdgrp::reparse): Define.
+ * grp.cc (pwdgrp::parse_group): Use.
+
2003-01-25 Pierre Humblet <pierre.humblet@ieee.org>
* syscalls.cc (seteuid32): On Win95 get the pw entry. If it exists
diff --git a/winsup/cygwin/grp.cc b/winsup/cygwin/grp.cc
index 9cce888..b4b590b 100644
--- a/winsup/cygwin/grp.cc
+++ b/winsup/cygwin/grp.cc
@@ -61,6 +61,7 @@ pwdgrp::parse_group ()
char **namearray = (char **) calloc (i + 2, sizeof (char *));
if (namearray)
{
+ reparse (dp);
for (i = 0; (dp = next_str (',')); i++)
namearray[i] = dp;
namearray[i] = NULL;
diff --git a/winsup/cygwin/pwdgrp.h b/winsup/cygwin/pwdgrp.h
index ede3808..aa7ab38 100644
--- a/winsup/cygwin/pwdgrp.h
+++ b/winsup/cygwin/pwdgrp.h
@@ -45,8 +45,9 @@ class pwdgrp
void read_passwd ();
void read_group ();
char *add_line (char *);
- char *pwdgrp::next_str (char = 0);
- int pwdgrp::next_int (char = 0);
+ char *next_str (char = 0);
+ int next_int (char = 0);
+ void reparse (char *);
public:
int curr_lines;
diff --git a/winsup/cygwin/uinfo.cc b/winsup/cygwin/uinfo.cc
index 809dab5..dcc9376 100644
--- a/winsup/cygwin/uinfo.cc
+++ b/winsup/cygwin/uinfo.cc
@@ -410,6 +410,12 @@ pwdgrp::next_str (char c)
return res;
}
+void
+pwdgrp::reparse (char *in_lptr)
+{
+ lptr = in_lptr;
+}
+
int
pwdgrp::next_int (char c)
{