diff options
author | Martin Blapp <mbr@FreeBSD.org> | 2002-10-18 22:41:42 +0000 |
---|---|---|
committer | Martin Blapp <mbr@FreeBSD.org> | 2002-10-18 22:41:42 +0000 |
commit | 5f6e7f6949fe1fba17b53a04af5b465f19b9b17d (patch) | |
tree | 336b116c7090225344e575c81b023f12aef39c5b /editors/openoffice-1.1-devel/files/patch-sal::osl::unx::system.c | |
parent | * add 2 missing man pages (diff) |
First step to make this port working. Configure works and all patches
apply now. There are still some compile errors to fix.
As you may see the patchnames are very long, but that makes
maintaining patches a lot easier.
Notes
Notes:
svn path=/head/; revision=68299
Diffstat (limited to 'editors/openoffice-1.1-devel/files/patch-sal::osl::unx::system.c')
-rw-r--r-- | editors/openoffice-1.1-devel/files/patch-sal::osl::unx::system.c | 127 |
1 files changed, 0 insertions, 127 deletions
diff --git a/editors/openoffice-1.1-devel/files/patch-sal::osl::unx::system.c b/editors/openoffice-1.1-devel/files/patch-sal::osl::unx::system.c deleted file mode 100644 index b0b93119f983..000000000000 --- a/editors/openoffice-1.1-devel/files/patch-sal::osl::unx::system.c +++ /dev/null @@ -1,127 +0,0 @@ ---- ../sal/osl/unx/system.c.orig Wed Feb 28 13:08:45 2001 -+++ ../sal/osl/unx/system.c -@@ -126,6 +126,73 @@ - return res; - } - -+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; -+} -+ - struct tm *localtime_r(const time_t *timep, struct tm *buffer) - { - struct tm* res; -@@ -449,3 +516,50 @@ - } - #endif - -+#if defined(NETBSD) || defined(FREEBSD) -+char *fcvt(double value, int ndigit, int *decpt, int *sign) -+{ -+ static char ret[256]; -+ char buf[256],zahl[256],format[256]="%"; -+ char *v1,*v2; -+ -+ if (value==0.0) value=1e-30; -+ -+ if (value<0.0) *sign=1; else *sign=0; -+ -+ if (value<1.0) -+ { -+ *decpt=(int)log10(value); -+ value*=pow(10.0,1-*decpt); -+ ndigit+=*decpt-1; -+ if (ndigit<0) ndigit=0; -+ } -+ else -+ { -+ *decpt=(int)log10(value)+1; -+ } -+ -+ sprintf(zahl,"%d",ndigit); -+ strcat(format,zahl); -+ strcat(format,"."); -+ strcat(format,zahl); -+ strcat(format,"f"); -+ -+ sprintf(buf,format,value); -+ -+ if (ndigit!=0) -+ { -+ v1=strtok(buf,"."); -+ v2=strtok(NULL,"."); -+ strcpy(ret,v1); -+ strcat(ret,v2); -+ } -+ else -+ { -+ strcpy(ret,buf); -+ } -+ -+ return(ret); -+} -+ -+#endif |