Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 17 Feb 2021 18:50:33 +0000 (UTC)
From:      Mikhail Teterin <mi@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r565788 - head/lang/siod/files
Message-ID:  <202102171850.11HIoXMg032630@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: mi
Date: Wed Feb 17 18:50:33 2021
New Revision: 565788
URL: https://svnweb.freebsd.org/changeset/ports/565788

Log:
  Add support for cpu_usage_limits function -- using {get,set}rlimit(),
  which was, until now, believed to be only available on SunOS and
  OSF.
  
  Sponsored by:	United Marsupials

Modified:
  head/lang/siod/files/patch-lib

Modified: head/lang/siod/files/patch-lib
==============================================================================
--- head/lang/siod/files/patch-lib	Wed Feb 17 18:39:21 2021	(r565787)
+++ head/lang/siod/files/patch-lib	Wed Feb 17 18:50:33 2021	(r565788)
@@ -1609,7 +1609,7 @@
  {return(closure(listn(3,
  		      NIL,
 --- slibu.c	2014-03-25 06:32:41.000000000 -0400
-+++ slibu.c	2021-02-15 21:10:45.383193000 -0500
++++ slibu.c	2021-02-17 13:41:42.696837000 -0500
 @@ -21,4 +21,8 @@
  #include <stdarg.h>
  
@@ -1687,7 +1687,12 @@
 +static LISP ldecode_pwent(const struct passwd *p)
  {return(symalist(
  		 "name",strcons(strlen(p->pw_name),p->pw_name),
-@@ -188,11 +193,12 @@
+@@ -186,13 +191,17 @@
+ #endif
+ 		 "shell",strcons(strlen(p->pw_shell),p->pw_shell),
++#if defined(BSD)
++		 "change", flocons(p->pw_change),
++#endif
  		 NULL));}
  
 -static char *strfield(char *name,LISP alist)
@@ -1704,14 +1709,14 @@
 +static long longfield(const char *name, LISP alist)
  {LISP value,key = rintern(name);
   if NULLP(value = assq(key,alist))
-@@ -200,5 +206,5 @@
+@@ -200,5 +209,5 @@
   return(get_c_long(cdr(value)));}
   
 -void lencode_pwent(LISP alist,struct passwd *p)
 +static void lencode_pwent(LISP alist, struct passwd *p)
  {p->pw_name = strfield("name",alist);
   p->pw_passwd = strfield("passwd",alist);
-@@ -217,6 +223,7 @@
+@@ -217,6 +226,7 @@
  #endif
   p->pw_shell = strfield("shell",alist);}
 +#endif
@@ -1720,62 +1725,62 @@
 +static LISP lgetpwuid(LISP luid)
  {int iflag;
   uid_t uid;
-@@ -230,5 +237,5 @@
+@@ -230,5 +240,5 @@
   return(result);}
  
 -LISP lgetpwnam(LISP nam)
 +static LISP lgetpwnam(LISP nam)
  {int iflag;
   struct passwd *p;
-@@ -240,5 +247,5 @@
+@@ -240,5 +250,5 @@
   return(result);}
  
 -LISP lgetpwent(void)
 +static LISP lgetpwent(void)
  {int iflag;
   LISP result = NIL;
-@@ -250,5 +257,5 @@
+@@ -250,5 +260,5 @@
   return(result);}
  
 -LISP lsetpwent(void)
 +static LISP lsetpwent(void)
  {int iflag = no_interrupt(1);
   setpwent();
-@@ -256,5 +263,5 @@
+@@ -256,5 +266,5 @@
   return(NIL);}
  
 -LISP lendpwent(void)
 +static LISP lendpwent(void)
  {int iflag = no_interrupt(1);
   endpwent();
-@@ -262,5 +269,5 @@
+@@ -262,5 +272,5 @@
   return(NIL);}
  
 -LISP lsetuid(LISP n)
 +static LISP lsetuid(LISP n)
  {uid_t uid;
   uid = (uid_t) get_c_long(n);
-@@ -270,5 +277,5 @@
+@@ -270,5 +280,5 @@
     return(NIL);}
  
 -LISP lseteuid(LISP n)
 +static LISP lseteuid(LISP n)
  {uid_t uid;
   uid = (uid_t) get_c_long(n);
-@@ -278,5 +285,5 @@
+@@ -278,5 +288,5 @@
     return(NIL);}
  
 -LISP lgeteuid(void)
 +static LISP lgeteuid(void)
  {return(flocons(geteuid()));}
  
-@@ -289,4 +296,5 @@
+@@ -289,4 +299,5 @@
  #endif
  
 +#if !defined(BSD)
  LISP lputpwent(LISP alist,LISP file)
  {int iflag = no_interrupt(1);
-@@ -297,8 +305,9 @@
+@@ -297,8 +308,9 @@
   no_interrupt(iflag);
   return(NIL);}
 +#endif
@@ -1788,56 +1793,56 @@
 + const char *acc = get_c_string(lacc), *p;
   int amode = 0,iflag = no_interrupt(1),retval;
   for(p=acc;*p;++p)
-@@ -325,5 +334,5 @@
+@@ -325,5 +337,5 @@
     return(NIL);}
  
 -LISP lsymlink(LISP p1,LISP p2)
 +static LISP lsymlink(LISP p1, LISP p2)
  {long iflag;
   iflag = no_interrupt(1);
-@@ -333,5 +342,5 @@
+@@ -333,5 +345,5 @@
   return(NIL);}
  
 -LISP llink(LISP p1,LISP p2)
 +static LISP llink(LISP p1, LISP p2)
  {long iflag;
   iflag = no_interrupt(1);
-@@ -341,5 +350,5 @@
+@@ -341,5 +353,5 @@
   return(NIL);}
  
 -LISP lunlink(LISP p)
 +static LISP lunlink(LISP p)
  {long iflag;
   iflag = no_interrupt(1);
-@@ -349,5 +358,5 @@
+@@ -349,5 +361,5 @@
   return(NIL);}
  
 -LISP lrmdir(LISP p)
 +static LISP lrmdir(LISP p)
  {long iflag;
   iflag = no_interrupt(1);
-@@ -357,5 +366,5 @@
+@@ -357,5 +369,5 @@
   return(NIL);}
  
 -LISP lmkdir(LISP p,LISP m)
 +static LISP lmkdir(LISP p, LISP m)
  {long iflag;
   iflag = no_interrupt(1);
-@@ -365,5 +374,5 @@
+@@ -365,5 +377,5 @@
   return(NIL);}
  
 -LISP lreadlink(LISP p)
 +static LISP lreadlink(LISP p)
  {long iflag;
   char buff[PATH_MAX+1];
-@@ -375,5 +384,5 @@
+@@ -375,5 +387,5 @@
   return(strcons(size,buff));}
  
 -LISP lrename(LISP p1,LISP p2)
 +static LISP lrename(LISP p1, LISP p2)
  {long iflag;
   iflag = no_interrupt(1);
-@@ -385,15 +394,15 @@
+@@ -385,15 +397,15 @@
  #endif
  
 -LISP lrandom(LISP n)
@@ -1856,21 +1861,21 @@
 +static LISP lsrandom(LISP n)
  {long seed;
   seed = get_c_long(n);
-@@ -401,5 +410,5 @@
+@@ -401,5 +413,5 @@
   srand(seed);
  #endif
 -#if defined(__osf__) || defined(linux)
 +#if defined(__osf__) || defined(linux) || defined(BSD)
   srandom(seed);
  #endif
-@@ -408,5 +417,5 @@
+@@ -408,5 +420,5 @@
  #ifdef unix
  
 -LISP lfork(void)
 +static LISP lfork(void)
  {int iflag;
   pid_t pid;
-@@ -423,6 +432,7 @@
+@@ -423,6 +435,7 @@
  #endif
  
 -char **list2char(LISP *safe,LISP v)
@@ -1880,35 +1885,35 @@
 + const char *tmp;
   long j,n;
   LISP l;
-@@ -438,5 +448,5 @@
+@@ -438,5 +451,5 @@
  #ifdef unix
  
 -LISP lexec(LISP path,LISP args,LISP env)
 +static LISP lexec(LISP path, LISP args, LISP env)
  {int iflag;
   char **argv = NULL, **envp = NULL;
-@@ -453,5 +463,5 @@
+@@ -453,5 +466,5 @@
   return(err("exec",llast_c_errmsg(-1)));}
  
 -LISP lnice(LISP val)
 +static LISP lnice(LISP val)
  {int iflag,n;
   n = get_c_long(val);
-@@ -490,5 +500,5 @@
+@@ -490,5 +503,5 @@
  #ifdef unix
  
 -LISP lwait(LISP lpid,LISP loptions)
 +static LISP lwait(LISP lpid, LISP loptions)
  {pid_t pid,ret;
   int iflag,status = 0,options;
-@@ -515,5 +525,5 @@
+@@ -515,5 +528,5 @@
     return(cons(flocons(ret),cons(flocons(status),NIL)));}
  
 -LISP lkill(LISP pid,LISP sig)
 +static LISP lkill(LISP pid, LISP sig)
  {long iflag;
   iflag = no_interrupt(1);
-@@ -527,12 +537,12 @@
+@@ -527,12 +540,12 @@
  #endif
  
 -LISP lgetpid(void)
@@ -1924,7 +1929,7 @@
 +static LISP lgetgrgid(LISP n)
  {gid_t gid;
   struct group *gr;
-@@ -552,13 +562,13 @@
+@@ -552,13 +565,13 @@
  
  #ifndef WIN32
 -LISP lgetppid(void)
@@ -1941,14 +1946,14 @@
 +static LISP lexit(LISP val)
  {int iflag = no_interrupt(1);
   exit(get_c_long(val));
-@@ -566,5 +576,5 @@
+@@ -566,5 +579,5 @@
   return(NIL);}
  
 -LISP ltrunc(LISP x)
 +static LISP ltrunc(LISP x)
  {long i;
   if NFLONUMP(x) err("wta to trunc",x);
-@@ -573,10 +583,11 @@
+@@ -573,10 +586,11 @@
  
  #ifdef unix
 -LISP lputenv(LISP lstr)
@@ -1963,7 +1968,7 @@
 + cpy = must_malloc(strlen(orig)+1);
   strcpy(cpy,orig);
    if (putenv(cpy))
-@@ -586,28 +597,31 @@
+@@ -586,28 +600,31 @@
  #endif
  
 -MD5_CTX * get_md5_ctx(LISP a)
@@ -2006,7 +2011,7 @@
 +			 buffer, dim);
      return(NIL);}
   else if NULLP(len)
-@@ -616,10 +630,10 @@
+@@ -616,16 +633,16 @@
     {n = get_c_long(len);
      if ((n < 0) || (n > dim)) err("invalid length for string",len);}
 - MD5Update(get_md5_ctx(ctx),(unsigned char *)buffer,n);
@@ -2020,56 +2025,71 @@
 + MD5Final(get_string_data(result),
  	  get_md5_ctx(ctx));
   return(result);}
-@@ -662,5 +676,5 @@
+ 
+-#if defined(__osf__) || defined(sun)
++#if defined(__osf__) || defined(sun) || defined(BSD) || defined(linux)
+ 
+-void handle_sigxcpu(int sig)
++static void handle_sigxcpu(int sig __unused)
+ {struct rlimit x;
+  if (getrlimit(RLIMIT_CPU,&x))
+@@ -640,5 +657,5 @@
+    err("cpu limit exceded",NIL);}
+ 
+-LISP cpu_usage_limits(LISP soft,LISP hard)
++static LISP cpu_usage_limits(LISP soft, LISP hard)
+ {struct rlimit x;
+  if (NULLP(soft) && NULLP(hard))
+@@ -662,5 +679,5 @@
  static int handle_sigalrm_flag = 0;
  
 -void handle_sigalrm(int sig)
 +static void handle_sigalrm(int sig __unused)
  {if (nointerrupt == 1)
    {if (handle_sigalrm_flag)
-@@ -673,5 +687,5 @@
+@@ -673,5 +690,5 @@
     err("alarm signal",NIL);}
  
 -LISP lalarm(LISP seconds,LISP flag)
 +static LISP lalarm(LISP seconds, LISP flag)
  {long iflag;
   int retval;
-@@ -686,5 +700,5 @@
+@@ -686,5 +703,5 @@
  
  
 -#if defined(__osf__) || defined(SUN5) || defined(linux)
 +#if defined(__osf__) || defined(SUN5) || defined(linux) || defined(BSD)
  
  #define TV_FRAC(x) (((double)x.tv_usec) * 1.0e-6)
-@@ -694,5 +708,5 @@
+@@ -694,5 +711,5 @@
  #endif
  
 -LISP current_resource_usage(LISP kind)
 +static LISP current_resource_usage(LISP kind)
  {struct rusage u;
   int code;
-@@ -729,5 +743,5 @@
+@@ -729,5 +746,5 @@
  #ifdef unix
  
 -LISP l_opendir(LISP name)
 +static LISP l_opendir(LISP name)
  {long iflag;
   LISP value;
-@@ -742,5 +756,5 @@
+@@ -742,5 +759,5 @@
   return(value);}
  
 -DIR *get_opendir(LISP v,long oflag)
 +static DIR *get_opendir(LISP v, long oflag)
  {if NTYPEP(v,tc_opendir) err("not an opendir",v);
   if NULLP(CAR(v))
-@@ -749,5 +763,5 @@
+@@ -749,5 +766,5 @@
   return((DIR *)CAR(v));}
  
 -LISP l_closedir(LISP v)
 +static LISP l_closedir(LISP v)
  {long iflag,old_errno;
   DIR *d;
-@@ -761,10 +775,10 @@
+@@ -761,10 +778,10 @@
   return(NIL);}
  
 -void  opendir_gc_free(LISP v)
@@ -2082,28 +2102,28 @@
 +static LISP l_readdir(LISP v)
  {long iflag,namlen;
   DIR *d;
-@@ -782,5 +796,5 @@
+@@ -782,5 +799,5 @@
   return(strcons(namlen,r->d_name));}
  
 -void opendir_prin1(LISP ptr,struct gen_printio *f)
 +static void opendir_prin1(LISP ptr, struct gen_printio *f)
  {char buffer[256];
   sprintf(buffer,"#<OPENDIR %p>",get_opendir(ptr,0));
-@@ -879,5 +893,5 @@
+@@ -879,5 +896,5 @@
  #endif
  
 -LISP file_times(LISP fname)
 +static LISP file_times(LISP fname)
  {struct stat st;
   int iflag,ret;
-@@ -894,5 +908,5 @@
+@@ -894,5 +911,5 @@
  
  #if defined(unix)
 -LISP decode_st_moden(mode_t mode)
 +static LISP decode_st_moden(mode_t mode)
  {LISP ret = NIL;
   if (mode & S_ISUID) ret = cons(cintern("SUID"),ret);
-@@ -952,8 +966,8 @@
+@@ -952,8 +969,8 @@
  #endif
  
 -LISP decode_st_mode(LISP value)
@@ -2114,14 +2134,14 @@
 +static LISP decode_stat(struct stat *s)
  {return(symalist("dev",flocons(s->st_dev),
  		 "ino",flocons(s->st_ino),
-@@ -978,5 +992,5 @@
+@@ -978,5 +995,5 @@
  	      
  
 -LISP g_stat(LISP fname,int (*fcn)(const char *,struct stat *))
 +static LISP g_stat(LISP fname, int (*fcn)(const char *, struct stat *))
  {struct stat st;
   int iflag,ret;
-@@ -989,8 +1003,8 @@
+@@ -989,8 +1006,8 @@
     return(decode_stat(&st));}
  
 -LISP l_stat(LISP fname)
@@ -2132,21 +2152,21 @@
 +static LISP l_fstat(LISP f)
  {struct stat st;
   int iflag,ret;
-@@ -1004,5 +1018,5 @@
+@@ -1004,5 +1021,5 @@
  
  #ifdef unix
 -LISP l_lstat(LISP fname)
 +static LISP l_lstat(LISP fname)
  {return(g_stat(fname,lstat));}
  #endif
-@@ -1022,5 +1036,5 @@
+@@ -1022,5 +1039,5 @@
  #if defined(unix) || defined(WIN32)
  
 -LISP l_chmod(LISP path,LISP mode)
 +static LISP l_chmod(LISP path, LISP mode)
  {if (chmod(get_c_string(path),get_c_long(mode)))
     return(err("chmod",llast_c_errmsg(-1)));
-@@ -1030,8 +1044,17 @@
+@@ -1030,8 +1047,17 @@
  #endif
  
 +#if defined(unix) || defined(WIN32)
@@ -2165,28 +2185,28 @@
 +static LISP lutime(LISP fname, LISP mod, LISP ac)
  {struct utimbuf x;
   x.modtime = get_c_long(mod);
-@@ -1043,5 +1066,5 @@
+@@ -1043,5 +1069,5 @@
  
  
 -LISP lfchmod(LISP file,LISP mode)
 +static LISP lfchmod(LISP file, LISP mode)
  {if (fchmod(fileno(get_c_file(file,NULL)),get_c_long(mode)))
     return(err("fchmod",llast_c_errmsg(-1)));
-@@ -1061,5 +1084,5 @@
+@@ -1061,5 +1087,5 @@
  				 NULL)));}
  
 -int get_fd(LISP ptr)
 +static int get_fd(LISP ptr)
  {if TYPEP(ptr,tc_c_file)
     return(fileno(get_c_file(ptr,NULL)));
-@@ -1067,5 +1090,5 @@
+@@ -1067,5 +1093,5 @@
     return(get_c_long(ptr));}
  
 -LISP gsetlk(int op,LISP lfd,LISP ltype,LISP whence,LISP start,LISP len)
 +static LISP gsetlk(int op, LISP lfd, LISP ltype, LISP whence, LISP start, LISP len)
  {struct flock f;
   int fd = get_fd(lfd);
-@@ -1084,11 +1107,11 @@
+@@ -1084,11 +1110,11 @@
     return(listn(2,flocons(f.l_type),flocons(f.l_pid)));}
  
 -LISP lF_SETLK(LISP fd,LISP ltype,LISP whence,LISP start,LISP len)
@@ -2201,28 +2221,28 @@
 +static LISP lF_GETLK(LISP fd, LISP ltype, LISP whence, LISP start, LISP len)
  {return(gsetlk(F_GETLK,fd,ltype,whence,start,len));}
  
-@@ -1097,5 +1120,5 @@
+@@ -1097,5 +1123,5 @@
  #endif
  
 -LISP delete_file(LISP fname)
 +static LISP delete_file(LISP fname)
  {int iflag,ret;
   iflag = no_interrupt(1);
-@@ -1111,5 +1134,5 @@
+@@ -1111,5 +1137,5 @@
     return(NIL);}
  
 -LISP utime2str(LISP u)
 +static LISP utime2str(LISP u)
  {time_t bt;
   struct tm *btm;
-@@ -1218,5 +1241,5 @@
+@@ -1218,5 +1244,5 @@
  #endif
  
 -LISP lgetenv(LISP var)
 +static LISP lgetenv(LISP var)
  {char *str;
   if ((str = getenv(get_c_string(var))))
-@@ -1225,8 +1248,8 @@
+@@ -1225,8 +1251,8 @@
     return(NIL);}
  
 -LISP unix_time(void)
@@ -2233,21 +2253,21 @@
 +static LISP unix_ctime(LISP value)
  {time_t b;
   char *buff,*p;
-@@ -1241,5 +1264,5 @@
+@@ -1241,5 +1267,5 @@
     return(NIL);}
  
 -LISP http_date(LISP value)
 +static LISP http_date(LISP value)
       /* returns the internet standard RFC 1123 format */
  {time_t b;
-@@ -1320,5 +1343,5 @@
+@@ -1320,5 +1346,5 @@
  #endif
  
 -LISP lsleep(LISP ns)
 +static LISP lsleep(LISP ns)
  {double val = get_c_double(ns);
  #ifdef unix
-@@ -1333,7 +1356,8 @@
+@@ -1333,7 +1359,8 @@
   return(NIL);}
  
 -LISP url_encode(LISP in)
@@ -2258,14 +2278,14 @@
 + char *r;
   LISP out;
   for(p=str,spaces=0,specials=0,regulars=0;(c = *p);++p)
-@@ -1344,5 +1368,5 @@
+@@ -1344,5 +1371,5 @@
     return(in);
   out = strcons(spaces + regulars + specials * 3,NULL);
 - for(p=str,r=get_c_string(out);(c = *p);++p)
 + for (p = str, r = get_string_data(out); (c = *p); ++p)
     if (c == ' ')
       *r++ = '+';
-@@ -1352,10 +1376,11 @@
+@@ -1352,10 +1379,11 @@
     else
       *r++ = c;
 - *r = 0;
@@ -2280,14 +2300,14 @@
 + char *r;
   LISP out;
   for(p=str,pluses=0,specials=0,regulars=0;(c = *p);++p)
-@@ -1371,5 +1396,5 @@
+@@ -1371,5 +1399,5 @@
     return(in);
   out = strcons(regulars + pluses + specials,NULL);
 - for(p=str,r=get_c_string(out);(c = *p);++p)
 + for (p = str, r = get_string_data(out); (c = *p); ++p)
     if (c == '+')
       *r++ = ' ';
-@@ -1386,7 +1411,8 @@
+@@ -1386,7 +1414,8 @@
   return(out);}
  
 -LISP html_encode(LISP in)
@@ -2298,14 +2318,14 @@
 + char *ptr;
   LISP out;
   switch(TYPE(in))
-@@ -1411,5 +1437,5 @@
+@@ -1411,5 +1440,5 @@
   if (n == m) return(in);
   out = strcons(m,NULL);
 - for(j=0,ptr=get_c_string(out);j < n; ++j)
 + for(j = 0, ptr = get_string_data(out); j < n; ++j)
     switch(str[j])
       {case '>':
-@@ -1429,11 +1455,11 @@
+@@ -1429,11 +1458,11 @@
   return(out);}
  
 -LISP html_decode(LISP in)
@@ -2320,7 +2340,7 @@
 + size_t n;
   char buffer[2048],*ptr;
   f = get_c_file(file,stdin);
-@@ -1451,11 +1477,12 @@
+@@ -1451,11 +1480,12 @@
   return(NIL);}
  
 -LISP readline(LISP file)
@@ -2336,42 +2356,42 @@
 + if ((ptr = strchr(start, '\n')) != NULL)
     {*ptr = 0;
      /* we also change the dim, because otherwise our equal? function
-@@ -1470,5 +1497,5 @@
+@@ -1470,5 +1500,5 @@
  #ifndef WIN32
  
 -LISP l_chown(LISP path,LISP uid,LISP gid)
 +static LISP l_chown(LISP path, LISP uid, LISP gid)
  {long iflag;
   iflag = no_interrupt(1);
-@@ -1481,5 +1508,5 @@
+@@ -1481,5 +1511,5 @@
  
  #if defined(unix) && !defined(linux)
 -LISP l_lchown(LISP path,LISP uid,LISP gid)
 +static LISP l_lchown(LISP path, LISP uid, LISP gid)
  {long iflag;
   iflag = no_interrupt(1);
-@@ -1493,5 +1520,5 @@
+@@ -1493,5 +1523,5 @@
  #ifdef unix
  
 -LISP popen_l(LISP name,LISP how)
 +static LISP popen_l(LISP name, LISP how)
  {return(fopen_cg(popen,
  		 get_c_string(name),
-@@ -1504,5 +1531,5 @@
+@@ -1504,5 +1534,5 @@
  	 So beware.
  	 */
 -LISP pclose_l(LISP ptr)
 +static LISP pclose_l(LISP ptr)
  {FILE *f = get_c_file(ptr,NULL);
   long iflag = no_interrupt(1);
-@@ -1520,5 +1547,5 @@
+@@ -1520,5 +1550,5 @@
  #endif
  
 -LISP so_init_name(LISP fname,LISP iname)
 +static LISP so_init_name(LISP fname, LISP iname)
  {LISP init_name;
   if NNULLP(iname)
-@@ -1533,6 +1560,6 @@
+@@ -1533,6 +1563,6 @@
   return(intern(init_name));}
  
 -LISP so_ext(LISP fname)
@@ -2380,7 +2400,7 @@
 +{const char *ext = ".so";
   LISP lext;
  #if defined(hpux)
-@@ -1551,9 +1578,9 @@
+@@ -1551,9 +1581,9 @@
     return(string_append(listn(2,fname,lext)));}
  
 -LISP load_so(LISP fname,LISP iname)
@@ -2392,21 +2412,21 @@
 +#if defined(__osf__) || defined(sun) || defined(linux) || defined(sgi) || defined(BSD)
   void *handle;
  #endif
-@@ -1576,5 +1603,5 @@
+@@ -1576,5 +1606,5 @@
      put_st(get_c_string(fname));
      put_st("\n");}
 -#if defined(__osf__) || defined(sun) || defined(linux) || defined(sgi)
 +#if defined(__osf__) || defined(sun) || defined(linux) || defined(sgi) || defined(BSD)
  #if !defined(__osf__)
   /* Observed bug: values of LD_LIBRARY_PATH established with putenv
-@@ -1637,5 +1664,5 @@
+@@ -1637,5 +1667,5 @@
   return(init_name);}
  
 -LISP require_so(LISP fname)
 +static LISP require_so(LISP fname)
  {LISP init_name;
   init_name = so_init_name(fname,NIL);
-@@ -1647,9 +1674,9 @@
+@@ -1647,9 +1677,9 @@
     return(NIL);}
  
 -LISP siod_lib_l(void)
@@ -2418,14 +2438,14 @@
 +static LISP ccall_catch_1(LISP (*fcn)(void *), void *arg)
  {LISP val;
   val = (*fcn)(arg);
-@@ -1669,5 +1696,5 @@
+@@ -1669,5 +1699,5 @@
   return(ccall_catch_1(fcn,arg));}
  
 -LISP decode_tm(struct tm *t)
 +static LISP decode_tm(struct tm *t)
  {return(symalist("sec",flocons(t->tm_sec),
  		 "min",flocons(t->tm_min),
-@@ -1685,8 +1712,8 @@
+@@ -1685,8 +1715,8 @@
  		 NULL));}
  
 -LISP symalist(char *arg,...)
@@ -2436,35 +2456,35 @@
 + const char *key;
   if (!arg) return(NIL);
   va_start(args,arg);
-@@ -1694,5 +1721,5 @@
+@@ -1694,5 +1724,5 @@
   result = cons(cons(cintern(arg),val),NIL);
   l = result;
 - while((key = va_arg(args,char *)))
 + while((key = va_arg(args, const char *)))
     {val = va_arg(args,LISP);
      CDR(l) = cons(cons(cintern(key),val),NIL);
-@@ -1701,5 +1728,5 @@
+@@ -1701,5 +1731,5 @@
   return(result);}
  
 -void encode_tm(LISP alist,struct tm *t)
 +static void encode_tm(LISP alist, struct tm *t)
  {LISP val;
   val = cdr(assq(cintern("sec"),alist));
-@@ -1727,5 +1754,5 @@
+@@ -1727,5 +1757,5 @@
  }
  
 -LISP llocaltime(LISP value)
 +static LISP llocaltime(LISP value)
  {time_t b;
   struct tm *t;
-@@ -1739,5 +1766,5 @@
+@@ -1739,5 +1769,5 @@
     return(err("localtime",llast_c_errmsg(-1)));}
  
 -LISP lgmtime(LISP value)
 +static LISP lgmtime(LISP value)
  {time_t b;
   struct tm *t;
-@@ -1752,10 +1779,10 @@
+@@ -1752,10 +1782,10 @@
  
  #if defined(unix) || defined(WIN32)
 -LISP ltzset(void)
@@ -2477,7 +2497,7 @@
 +static LISP lmktime(LISP alist)
  {struct tm tm;
   time_t t;
-@@ -1764,7 +1791,7 @@
+@@ -1764,7 +1794,7 @@
   return(flocons((double)t));}
  
 -#if defined(__osf__) || defined(SUN5) || defined(linux)
@@ -2487,42 +2507,42 @@
 +static LISP lstrptime(LISP str,LISP fmt,LISP in)
  {struct tm tm;
   encode_tm(in,&tm);
-@@ -1785,5 +1812,5 @@
+@@ -1785,5 +1815,5 @@
  #ifdef unix
  
 -LISP lstrftime(LISP fmt,LISP in)
 +static LISP lstrftime(LISP fmt, LISP in)
  {struct tm tm;
   time_t b;
-@@ -1805,5 +1832,5 @@
+@@ -1805,5 +1835,5 @@
  #endif
  
 -LISP lchdir(LISP dir)
 +static LISP lchdir(LISP dir)
  {long iflag;
  #ifdef unix
-@@ -1811,5 +1838,5 @@
+@@ -1811,5 +1841,5 @@
   int fd;
  #endif
 - char *path;
 + const char *path;
   switch(TYPE(dir))
     {case tc_c_file:
-@@ -1844,5 +1871,5 @@
+@@ -1844,5 +1874,5 @@
  
  #ifdef unix
 -LISP lgetpass(LISP lprompt)
 +static LISP lgetpass(LISP lprompt)
  {long iflag;
   char *result;
-@@ -1857,5 +1884,5 @@
+@@ -1857,5 +1887,5 @@
  
  #ifdef unix
 -LISP lpipe(void)
 +static LISP lpipe(void)
  {int filedes[2];
   long iflag;
-@@ -1886,9 +1913,9 @@
+@@ -1886,9 +1916,9 @@
  #define CTYPE_ULONG  10
  
 -LISP err_large_index(LISP ind)
@@ -2535,7 +2555,7 @@
 +{const void *data;
   long size,i;
   data = get_c_string_dim(dat,&size);
-@@ -1898,46 +1925,46 @@
+@@ -1898,46 +1928,46 @@
     {case CTYPE_FLOAT:
        if (((i+1) * (int) sizeof(float)) > size) err_large_index(ind);
 -      return(flocons(((float *)data)[i]));
@@ -2597,7 +2617,7 @@
 + (void)get_c_string_dim(dat, &size);
   switch(get_c_long(ctype))
     {case CTYPE_FLOAT:
-@@ -1981,7 +2008,7 @@
+@@ -1981,7 +2011,7 @@
   return(NIL);}
  
 -
@@ -2608,7 +2628,7 @@
 + const char *p2;
   if ((strcmp(value,"(repl)") == 0) ||
       (strcmp(value,"repl") == 0))
-@@ -1994,12 +2021,12 @@
+@@ -1994,12 +2024,12 @@
  	*p1 = 0;
  	strcat(tmpbuff,"\")");
 -    return(repl_c_string(tmpbuff,0,0,0));}
@@ -2625,7 +2645,7 @@
 + char *iargv1;
   LISP l;
   iargv[0] = "";
-@@ -2008,14 +2035,15 @@
+@@ -2008,14 +2038,15 @@
       {while(*start)
  	{if (!(end = strstr(start,",-"))) end = &start[strlen(start)];
 -	 iargv[1] = (char *) malloc(end-start+1);
@@ -2649,14 +2669,14 @@
 +	   mainflag = atol(iargv1 + 2);
  	 else
  	   process_cla(2,iargv,1);
-@@ -2064,5 +2092,5 @@
+@@ -2064,5 +2095,5 @@
  #define BOOTSTRAP_EXE_FILE_SIZE_LIMIT 1000000
  
 -long position_script(FILE *f,char *buff,size_t bufflen)
 +static long position_script(FILE *f, char *buff, size_t bufflen)
  /* This recognizes #!/ sequence. Exersize: compute the probability
     of the sequence showing up in a file of N random bytes. */
-@@ -2131,10 +2159,10 @@
+@@ -2131,10 +2162,10 @@
   if (pos < 0) return;
   nargc = argc + ((*flagbuff) ? 2 : 1);
 - nargv = (char **) malloc(sizeof(char *) * nargc);
@@ -2670,34 +2690,34 @@
 + nargv[j] = malloc(strlen(offbuff)+strlen(argv[0])+2);
   sprintf(nargv[j],"%s%c%s",offbuff,VLOAD_OFFSET_HACK_CHAR,argv[0]);
   j++;
-@@ -2144,5 +2172,5 @@
+@@ -2144,5 +2175,5 @@
   }
  
 -LISP lposition_script(LISP lfile)
 +static LISP lposition_script(LISP lfile)
  {FILE *f;
   long iflag,pos;
-@@ -2157,5 +2185,5 @@
+@@ -2157,5 +2188,5 @@
   return(cons(flocons(pos),strcons(-1,flbuff)));}
  
 -void __stdcall siod_init(int argc,char **argv)
 +void __stdcall siod_init(int argc, const char **argv)
  {process_cla(argc,argv,0);
   init_storage();
-@@ -2166,5 +2194,5 @@
+@@ -2166,5 +2197,5 @@
  void __stdcall init_slibu(void)
  {long j;
 -#if defined(unix)
 +#if defined(unix) && !defined(BSD)
   char *tmp1,*tmp2;
  #endif
-@@ -2179,4 +2207,5 @@
+@@ -2179,4 +2210,5 @@
   set_print_hooks(tc_opendir,opendir_prin1);
   init_subr_2("chmod",l_chmod);
 + init_subr_2("lchmod", l_lchmod);
  #endif
  
-@@ -2212,5 +2241,7 @@
+@@ -2212,5 +2244,7 @@
   init_subr_1("setpwfile",lsetpwfile);
  #endif
 +#if !defined(BSD)
@@ -2705,21 +2725,25 @@
 +#endif
   init_subr_2("access-problem?",laccess_problem);
   init_subr_3("utime",lutime);
-@@ -2246,5 +2277,5 @@
+@@ -2243,8 +2277,8 @@
+  init_subr_3("md5-update",md5_update);
+  init_subr_1("md5-final",md5_final);
+-#if defined(__osf__) || defined(sun)
++#if defined(__osf__) || defined(sun) || defined(BSD) || defined(linux)
   init_subr_2("cpu-usage-limits",cpu_usage_limits);
  #endif
 -#if defined(__osf__) || defined(SUN5) || defined(linux)
 +#if defined(__osf__) || defined(SUN5) || defined(linux) || defined(BSD)
   init_subr_1("current-resource-usage",current_resource_usage);
  #endif
-@@ -2320,5 +2351,5 @@
+@@ -2320,5 +2354,5 @@
   init_subr_0("siod-lib",siod_lib_l);
  
 -#ifdef unix
 +#if defined(unix) && !defined(BSD)
   if ((!(tmp1 = getenv(ld_library_path_env))) ||
       (!strstr(tmp1,siod_lib)))
-@@ -2351,5 +2382,5 @@
+@@ -2351,5 +2385,5 @@
   init_subr_0("rld-pathnames",rld_pathnames);
  #endif
 -#if defined(__osf__) || defined(SUN5) || defined(linux)



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202102171850.11HIoXMg032630>