summaryrefslogtreecommitdiff
path: root/editors/openoffice-1.1-devel/files/patch-sal::osl::unx::system.c
diff options
context:
space:
mode:
authorMartin Blapp <mbr@FreeBSD.org>2002-10-18 22:41:42 +0000
committerMartin Blapp <mbr@FreeBSD.org>2002-10-18 22:41:42 +0000
commit5f6e7f6949fe1fba17b53a04af5b465f19b9b17d (patch)
tree336b116c7090225344e575c81b023f12aef39c5b /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.c127
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