[Libreoffice-commits] .: sal/osl
François Tigeot
ftigeot at kemper.freedesktop.org
Tue May 10 23:01:47 PDT 2011
sal/osl/unx/system.c | 154 ---------------------------------------------------
1 file changed, 154 deletions(-)
New commits:
commit 7a85c0eb7a1b50d848365c94976a6b1619837125
Author: Francois Tigeot <ftigeot at wolfpond.org>
Date: Wed May 11 07:58:23 2011 +0200
Remove an implementation of getpwnam_r for old versions of NetBSD.
NetBSD 2.x and previous releases are long gone.
diff --git a/sal/osl/unx/system.c b/sal/osl/unx/system.c
index 24d63e1..da9af6a 100644
--- a/sal/osl/unx/system.c
+++ b/sal/osl/unx/system.c
@@ -33,160 +33,6 @@
static pthread_mutex_t getrtl_mutex = PTHREAD_MUTEX_INITIALIZER;
/* struct passwd differs on some platforms */
-#if defined NETBSD && (__NetBSD_Version__ < 299001000)
-struct passwd *getpwnam_r(const char* name, struct passwd* s, char* buffer, int size )
-{
- struct passwd* res;
-
- pthread_mutex_lock(&getrtl_mutex);
-
- if ( (res = getpwnam(name)) )
- {
- int nname, npasswd, nclass, ngecos, ndir;
-
- nname= strlen(res->pw_name)+1;
- npasswd= strlen(res->pw_passwd)+1;
- nclass= strlen(res->pw_class)+1;
- ngecos= strlen(res->pw_gecos)+1;
- ndir= strlen(res->pw_dir)+1;
-
- if (nname+npasswd+nclass+ngecos
- +ndir+strlen(res->pw_shell) < size)
- {
- memcpy(s, res, sizeof(struct passwd));
-
- strcpy(buffer, res->pw_name);
- s->pw_name = buffer;
- buffer += nname;
-
- strcpy(buffer, res->pw_passwd);
- s->pw_passwd = buffer;
- buffer += npasswd;
-
- strcpy(buffer, res->pw_class);
- s->pw_class = buffer;
- buffer += nclass;
-
- strcpy(buffer, res->pw_gecos);
- s->pw_gecos = buffer;
- buffer += ngecos;
-
- strcpy(buffer, res->pw_dir);
- s->pw_dir = buffer;
- buffer += ndir;
-
- strcpy(buffer, res->pw_shell);
- s->pw_shell = buffer;
-
- res = s;
- }
- else
- res = 0;
- }
-
- pthread_mutex_unlock(&getrtl_mutex);
-
- return(res);
-}
-
-int getpwuid_r(uid_t uid, struct passwd *pwd, char *buffer,
- size_t buflen, struct passwd **result)
-{
- struct passwd* res;
- int retval = 0;
-
- pthread_mutex_lock(&getrtl_mutex);
-
- if ( (res = getpwuid(uid)) )
- {
- size_t pw_name, pw_passwd, pw_class, pw_gecos, pw_dir, pw_shell;
-
- pw_name = strlen(res->pw_name)+1;
- pw_passwd = strlen(res->pw_passwd)+1;
- pw_class = strlen(res->pw_class)+1;
- pw_gecos = strlen(res->pw_gecos)+1;
- pw_dir = strlen(res->pw_dir)+1;
- pw_shell = strlen(res->pw_shell)+1;
-
- if (pw_name+pw_passwd+pw_class+pw_gecos
- +pw_dir+pw_shell < buflen)
- {
- memcpy(pwd, res, sizeof(struct passwd));
-
- strncpy(buffer, res->pw_name, pw_name);
- pwd->pw_name = buffer;
- buffer += pw_name;
-
- strncpy(buffer, res->pw_passwd, pw_passwd);
- pwd->pw_passwd = buffer;
- buffer += pw_passwd;
-
- strncpy(buffer, res->pw_class, pw_class);
- pwd->pw_class = buffer;
- buffer += pw_class;
-
- strncpy(buffer, res->pw_gecos, pw_gecos);
- pwd->pw_gecos = buffer;
- buffer += pw_gecos;
-
- strncpy(buffer, res->pw_dir, pw_dir);
- pwd->pw_dir = buffer;
- buffer += pw_dir;
-
- strncpy(buffer, res->pw_shell, pw_shell);
- pwd->pw_shell = buffer;
- buffer += pw_shell;
-
- *result = pwd ;
- retval = 0 ;
-
- }
- else
- retval = ENOMEM;
- }
- else
- retval = errno ;
-
- pthread_mutex_unlock(&getrtl_mutex);
-
- return retval;
-}
-
-struct tm *localtime_r(const time_t *timep, struct tm *buffer)
-{
- struct tm* res;
-
- pthread_mutex_lock(&getrtl_mutex);
-
- if ( (res = localtime(timep)))
- {
- memcpy(buffer, res, sizeof(struct tm));
- res = buffer;
- }
-
- pthread_mutex_unlock(&getrtl_mutex);
-
- return res;
-}
-
-struct tm *gmtime_r(const time_t *timep, struct tm *buffer)
-{
- struct tm* res;
-
- pthread_mutex_lock(&getrtl_mutex);
-
- if ( (res = gmtime(timep)) )
- {
- memcpy(buffer, res, sizeof(struct tm));
- res = buffer;
- }
-
- pthread_mutex_unlock(&getrtl_mutex);
-
- return res;
-}
-#endif /* defined NETBSD */
-
#if !defined(FREEBSD) || (__FreeBSD_version < 601103)
extern int h_errno;
More information about the Libreoffice-commits
mailing list