--- ray/src/common/savqstr.c 2003/02/25 02:47:22 2.4 +++ ray/src/common/savqstr.c 2012/06/01 19:17:17 2.10 @@ -1,5 +1,5 @@ #ifndef lint -static const char RCSid[] = "$Id: savqstr.c,v 2.4 2003/02/25 02:47:22 greg Exp $"; +static const char RCSid[] = "$Id: savqstr.c,v 2.10 2012/06/01 19:17:17 greg Exp $"; #endif /* * Save unshared strings. @@ -11,16 +11,16 @@ static const char RCSid[] = "$Id: savqstr.c,v 2.4 2003 #include -extern void eputs(); -extern void quit(); +#include "rtio.h" +#include "rterror.h" + #if 1 char * -savqstr(s) /* save a private string */ -register char *s; +savqstr(char *s) /* save a private string */ { - register char *cp; + char *cp; char *newp; for (cp = s; *cp++; ) /* compute strlen()+1 */ @@ -30,17 +30,17 @@ register char *s; eputs("out of memory in savqstr"); quit(1); } - for (cp = newp; *cp++ = *s++; ) /* inline strcpy() */ + for (cp = newp; (*cp++ = *s++); ) /* inline strcpy() */ ; return(newp); /* return new location */ } void -freeqstr(s) /* free a private string */ -char *s; +freeqstr(char *s) /* free a private string */ { - free((void *)s); + if (s != NULL) + free((void *)s); } #else @@ -50,34 +50,33 @@ char *s; * large blocks to optimize paging in VM environments. */ -#ifdef BIGMEM +#include "rtmisc.h" + +#ifdef SMLMEM #ifndef MINBLOCK -#define MINBLOCK (1<<12) /* minimum allocation block size */ +#define MINBLOCK (1<<10) /* minimum allocation block size */ #endif #ifndef MAXBLOCK -#define MAXBLOCK (1<<16) /* maximum allocation block size */ +#define MAXBLOCK (1<<14) /* maximum allocation block size */ #endif #else #ifndef MINBLOCK -#define MINBLOCK (1<<10) /* minimum allocation block size */ +#define MINBLOCK (1<<12) /* minimum allocation block size */ #endif #ifndef MAXBLOCK -#define MAXBLOCK (1<<14) /* maximum allocation block size */ +#define MAXBLOCK (1<<16) /* maximum allocation block size */ #endif #endif -extern char *bmalloc(); - char * -savqstr(s) /* save a private string */ -register char *s; +savqstr(char *s) /* save a private string */ { static char *curp = NULL; /* allocated memory pointer */ static unsigned nrem = 0; /* bytes remaining in block */ static unsigned nextalloc = MINBLOCK; /* next block size */ - register char *cp; - register unsigned n; + char *cp; + unsigned n; for (cp = s; *cp++; ) /* compute strlen()+1 */ ; @@ -102,8 +101,7 @@ register char *s; void -freeqstr(s) /* free a private string (not recommended) */ -char *s; +freeqstr(char *s) /* free a private string (not recommended) */ { bfree(s, strlen(s)+1); }