projects
/
mono.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
2005-11-07 Miguel de Icaza <miguel@novell.com>
[mono.git]
/
support
/
grp.c
diff --git
a/support/grp.c
b/support/grp.c
index 99ef795c139a705bad4b08a867a9d9f0f2a86a56..8e2a3f790cf38e37bea281b8d548e77d56d737d2 100644
(file)
--- a/
support/grp.c
+++ b/
support/grp.c
@@
-4,7
+4,7
@@
* Authors:
* Jonathan Pryor (jonpryor@vt.edu)
*
* Authors:
* Jonathan Pryor (jonpryor@vt.edu)
*
- * Copyright (C) 2004 Jonathan Pryor
+ * Copyright (C) 2004
-2005
Jonathan Pryor
*/
#include <sys/types.h>
*/
#include <sys/types.h>
@@
-152,7
+152,7
@@
Mono_Posix_Syscall_getgrgid (mph_gid_t gid, struct Mono_Posix_Syscall__Group *gb
gint32
Mono_Posix_Syscall_getgrnam_r (const char *name,
struct Mono_Posix_Syscall__Group *gbuf,
gint32
Mono_Posix_Syscall_getgrnam_r (const char *name,
struct Mono_Posix_Syscall__Group *gbuf,
-
struct group
**gbufp)
+
void
**gbufp)
{
char *buf, *buf2;
size_t buflen;
{
char *buf, *buf2;
size_t buflen;
@@
-176,7
+176,7
@@
Mono_Posix_Syscall_getgrnam_r (const char *name,
}
buf = buf2;
errno = 0;
}
buf = buf2;
errno = 0;
- } while ((r = getgrnam_r (name, &_grbuf, buf, buflen, gbufp)) &&
+ } while ((r = getgrnam_r (name, &_grbuf, buf, buflen,
(struct group**)
gbufp)) &&
recheck_range (r));
/* On Solaris, this function returns 0 even if the entry was not found */
recheck_range (r));
/* On Solaris, this function returns 0 even if the entry was not found */
@@
-195,7
+195,7
@@
Mono_Posix_Syscall_getgrnam_r (const char *name,
gint32
Mono_Posix_Syscall_getgrgid_r (mph_gid_t gid,
struct Mono_Posix_Syscall__Group *gbuf,
gint32
Mono_Posix_Syscall_getgrgid_r (mph_gid_t gid,
struct Mono_Posix_Syscall__Group *gbuf,
-
struct group
**gbufp)
+
void
**gbufp)
{
char *buf, *buf2;
size_t buflen;
{
char *buf, *buf2;
size_t buflen;
@@
-219,7
+219,7
@@
Mono_Posix_Syscall_getgrgid_r (mph_gid_t gid,
}
buf = buf2;
errno = 0;
}
buf = buf2;
errno = 0;
- } while ((r = getgrgid_r (gid, &_grbuf, buf, buflen, gbufp)) &&
+ } while ((r = getgrgid_r (gid, &_grbuf, buf, buflen,
(struct group**)
gbufp)) &&
recheck_range (r));
/* On Solaris, this function returns 0 even if the entry was not found */
recheck_range (r));
/* On Solaris, this function returns 0 even if the entry was not found */
@@
-258,7
+258,7
@@
Mono_Posix_Syscall_getgrent (struct Mono_Posix_Syscall__Group *grbuf)
#ifdef HAVE_FGETGRENT
gint32
#ifdef HAVE_FGETGRENT
gint32
-Mono_Posix_Syscall_fgetgrent (
FILE
*stream, struct Mono_Posix_Syscall__Group *grbuf)
+Mono_Posix_Syscall_fgetgrent (
void
*stream, struct Mono_Posix_Syscall__Group *grbuf)
{
struct group *gr;
{
struct group *gr;
@@
-268,7
+268,7
@@
Mono_Posix_Syscall_fgetgrent (FILE *stream, struct Mono_Posix_Syscall__Group *gr
}
errno = 0;
}
errno = 0;
- gr = fgetgrent (stream);
+ gr = fgetgrent (
(FILE*)
stream);
if (gr == NULL)
return -1;
if (gr == NULL)
return -1;
@@
-287,6
+287,23
@@
Mono_Posix_Syscall_setgroups (mph_size_t size, mph_gid_t *list)
return setgroups ((size_t) size, list);
}
return setgroups ((size_t) size, list);
}
+int
+Mono_Posix_Syscall_setgrent (void)
+{
+ errno = 0;
+ setgrent ();
+ return errno == 0 ? 0 : -1;
+}
+
+int
+Mono_Posix_Syscall_endgrent (void)
+{
+ errno = 0;
+ endgrent();
+ return errno == 0 ? 0 : -1;
+}
+
+
G_END_DECLS
/*
G_END_DECLS
/*