X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=support%2Fpwd.c;h=4bb6ad6ca2b532e51f3e014cdcb6203b265ff339;hb=9f6fa83d53ec04dde5c07d21ca3a640024e00095;hp=e622027458dfa806dbdaf0525b27ce10484a3473;hpb=c5a868627ae20dbf597bb9ab6d8bcd64ac16cac0;p=mono.git diff --git a/support/pwd.c b/support/pwd.c index e622027458d..4bb6ad6ca2b 100644 --- a/support/pwd.c +++ b/support/pwd.c @@ -18,22 +18,26 @@ G_BEGIN_DECLS -static const size_t +static const mph_string_offset_t passwd_offsets[] = { - offsetof (struct passwd, pw_name), - offsetof (struct passwd, pw_passwd), - offsetof (struct passwd, pw_gecos), - offsetof (struct passwd, pw_dir), - offsetof (struct passwd, pw_shell) + MPH_STRING_OFFSET (struct passwd, pw_name, MPH_STRING_OFFSET_PTR), + MPH_STRING_OFFSET (struct passwd, pw_passwd, MPH_STRING_OFFSET_PTR), +#if HAVE_STRUCT_PASSWD_PW_GECOS + MPH_STRING_OFFSET (struct passwd, pw_gecos, MPH_STRING_OFFSET_PTR), +#endif /* def HAVE_STRUCT_PASSWD_PW_GECOS */ + MPH_STRING_OFFSET (struct passwd, pw_dir, MPH_STRING_OFFSET_PTR), + MPH_STRING_OFFSET (struct passwd, pw_shell, MPH_STRING_OFFSET_PTR) }; -static const size_t +static const mph_string_offset_t mph_passwd_offsets[] = { - offsetof (struct Mono_Posix_Syscall__Passwd, pw_name), - offsetof (struct Mono_Posix_Syscall__Passwd, pw_passwd), - offsetof (struct Mono_Posix_Syscall__Passwd, pw_gecos), - offsetof (struct Mono_Posix_Syscall__Passwd, pw_dir), - offsetof (struct Mono_Posix_Syscall__Passwd, pw_shell) + MPH_STRING_OFFSET (struct Mono_Posix_Syscall__Passwd, pw_name, MPH_STRING_OFFSET_PTR), + MPH_STRING_OFFSET (struct Mono_Posix_Syscall__Passwd, pw_passwd, MPH_STRING_OFFSET_PTR), +#if HAVE_STRUCT_PASSWD_PW_GECOS + MPH_STRING_OFFSET (struct Mono_Posix_Syscall__Passwd, pw_gecos, MPH_STRING_OFFSET_PTR), +#endif /* def HAVE_STRUCT_PASSWD_PW_GECOS */ + MPH_STRING_OFFSET (struct Mono_Posix_Syscall__Passwd, pw_dir, MPH_STRING_OFFSET_PTR), + MPH_STRING_OFFSET (struct Mono_Posix_Syscall__Passwd, pw_shell, MPH_STRING_OFFSET_PTR) }; /* @@ -187,6 +191,7 @@ Mono_Posix_Syscall_getpwuid_r (mph_uid_t uid, } #endif /* ndef HAVE_GETPWUID_R */ +#if HAVE_GETPWENT gint32 Mono_Posix_Syscall_getpwent (struct Mono_Posix_Syscall__Passwd *pwbuf) { @@ -208,6 +213,7 @@ Mono_Posix_Syscall_getpwent (struct Mono_Posix_Syscall__Passwd *pwbuf) } return 0; } +#endif /* def HAVE_GETPWENT */ #ifdef HAVE_FGETPWENT gint32 @@ -233,6 +239,7 @@ Mono_Posix_Syscall_fgetpwent (void *stream, struct Mono_Posix_Syscall__Passwd *p } #endif /* ndef HAVE_FGETPWENT */ +#if HAVE_SETPWENT int Mono_Posix_Syscall_setpwent (void) { @@ -243,7 +250,9 @@ Mono_Posix_Syscall_setpwent (void) mph_return_if_val_in_list5(errno, EIO, EMFILE, ENFILE, ENOMEM, ERANGE); return 0; } +#endif /* def HAVE_SETPWENT */ +#if HAVE_ENDPWENT int Mono_Posix_Syscall_endpwent (void) { @@ -253,6 +262,7 @@ Mono_Posix_Syscall_endpwent (void) return -1; return 0; } +#endif /* def HAVE_ENDPWENT */ G_END_DECLS