aboutsummaryrefslogtreecommitdiffstats
path: root/editors/openoffice.org-3-RC
diff options
context:
space:
mode:
authormbr <mbr@FreeBSD.org>2003-04-04 05:40:30 +0800
committermbr <mbr@FreeBSD.org>2003-04-04 05:40:30 +0800
commit0805c12636b2f1e6ef4a13a951ba4ac392372e27 (patch)
tree12fbcefdb3ddbf4d66ca2aa82bea1182be04c37f /editors/openoffice.org-3-RC
parentb7a49036a5f25471530cf71987055ab2fd7a565b (diff)
downloadfreebsd-ports-graphics-0805c12636b2f1e6ef4a13a951ba4ac392372e27.tar.gz
freebsd-ports-graphics-0805c12636b2f1e6ef4a13a951ba4ac392372e27.tar.zst
freebsd-ports-graphics-0805c12636b2f1e6ef4a13a951ba4ac392372e27.zip
Remove redundant getpwuid_r from the patch. Build getpwuid_r part
for FreeBSD too.
Diffstat (limited to 'editors/openoffice.org-3-RC')
-rw-r--r--editors/openoffice.org-3-RC/files/patch-sal+osl+unx+system.c107
1 files changed, 35 insertions, 72 deletions
diff --git a/editors/openoffice.org-3-RC/files/patch-sal+osl+unx+system.c b/editors/openoffice.org-3-RC/files/patch-sal+osl+unx+system.c
index 8dc663ac03f..2c5aba956f7 100644
--- a/editors/openoffice.org-3-RC/files/patch-sal+osl+unx+system.c
+++ b/editors/openoffice.org-3-RC/files/patch-sal+osl+unx+system.c
@@ -1,80 +1,43 @@
---- ../sal/osl/unx/system.c.orig Sun Mar 17 12:34:13 2002
-+++ ../sal/osl/unx/system.c Wed Apr 3 01:03:36 2002
-@@ -195,6 +195,73 @@
+--- ../sal/osl/unx/system.c.orig Tue Aug 20 15:49:46 2002
++++ ../sal/osl/unx/system.c Thu Apr 3 21:56:32 2003
+@@ -74,7 +74,7 @@
+ static pthread_mutex_t getrtl_mutex = PTHREAD_MUTEX_INITIALIZER;
+
+ /* struct passwd differs on some platforms */
+-#if defined NETBSD || defined MACOSX || defined FREEBSD
++#if defined NETBSD || defined FREEBSD || defined MACOSX
+ #include <pwd.h>
+ #include <sys/types.h>
+
+@@ -134,7 +134,6 @@
+ return res;
}
- #endif
-+int getpwuid_r(uid_t uid, struct passwd *pwd, char *buffer,
-+ size_t buflen, struct passwd **result)
-+{
-+ struct passwd* res;
-+
-+ 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 ;
-+ res = 0 ;
-+
-+ } else {
-+
-+ res = ENOMEM ;
-+
-+ }
-+
-+ } else {
-+
-+ res = errno ;
-+
-+ }
-+
-+ pthread_mutex_unlock(&getrtl_mutex);
-+
-+ return res;
-+}
-+
+-#if defined(NETBSD) || defined(MACOSX)
+ int getpwuid_r(uid_t uid, struct passwd *pwd, char *buffer,
+ size_t buflen, struct passwd **result)
+ {
+@@ -201,8 +200,8 @@
+
+ return res;
+ }
+-#endif
+
++#if defined NETBSD || defined MACOSX
struct tm *localtime_r(const time_t *timep, struct tm *buffer)
{
struct tm* res;
-@@ -518,3 +585,50 @@
+@@ -236,7 +235,8 @@
+
+ return res;
+ }
+-#endif /* defined NETBSD || defined MACOSX */
++#endif /* defined NETBSD || MACOSX */
++#endif /* defined NETBSD || FREEBSD || MACOSX */
+
+ #ifdef SCO
+ #include <pwd.h>
+@@ -712,3 +712,50 @@
}
#endif