diff -arcN arc.orig/asc/findexec.c arc/asc/findexec.c *** arc.orig/asc/findexec.c Sat Apr 12 09:39:29 2003 --- arc/asc/findexec.c Mon Apr 25 05:58:18 2005 *************** *** 115,121 **** register char *p = (char *) malloc(strlen(s)+1); if (!p) return 0; *p = 0; ! strcpy(p, s); return p; } --- 115,121 ---- register char *p = (char *) malloc(strlen(s)+1); if (!p) return 0; *p = 0; ! strlcpy(p, s, strlen(s)+1); return p; } *************** *** 138,150 **** return access(name, X_OK) ? 0 : copy_of(name); if (strchr(name, '/')) { ! strcpy (tbuf, "."); /* in case getcwd doesn't work */ getcwd(tbuf, MAXPATHLEN); if ((name[0] == '.') && (name[1] == '/')) { ! strcat(tbuf, name + 1); } else { ! if ('/' != tbuf[strlen(tbuf) - 1]) strcat(tbuf, "/"); ! strcat(tbuf, name); } return copy_of(tbuf); } --- 138,150 ---- return access(name, X_OK) ? 0 : copy_of(name); if (strchr(name, '/')) { ! strlcpy (tbuf, ".", sizeof(tbuf)); /* in case getcwd doesn't work */ getcwd(tbuf, MAXPATHLEN); if ((name[0] == '.') && (name[1] == '/')) { ! strlcat(tbuf, name + 1, sizeof(tbuf)); } else { ! if ('/' != tbuf[strlen(tbuf) - 1]) strlcat(tbuf, "/", sizeof(tbuf)); ! strlcat(tbuf, name, sizeof(tbuf)); } return copy_of(tbuf); } *************** *** 159,165 **** register char *next = tbuf; if (p[0]=='~' && p[1]=='/' && getenv("HOME")) { ! strcpy(tbuf, (char *)getenv("HOME")); next = tbuf + strlen(tbuf); p++; } --- 159,165 ---- register char *next = tbuf; if (p[0]=='~' && p[1]=='/' && getenv("HOME")) { ! strlcpy(tbuf, (char *)getenv("HOME"), sizeof(tbuf)); next = tbuf + strlen(tbuf); p++; } *************** *** 172,181 **** if (tbuf[0] == '.' && tbuf[1] == 0) getcwd(tbuf, MAXPATHLEN); /* was getwd(tbuf); */ else if (tbuf[0]=='~' && tbuf[1]==0 && getenv("HOME")) ! strcpy(tbuf, (char *)getenv("HOME")); ! strcat(tbuf, "/"); ! strcat(tbuf, name); if (access(tbuf, X_OK) == 0) { # ifndef hpux --- 172,181 ---- if (tbuf[0] == '.' && tbuf[1] == 0) getcwd(tbuf, MAXPATHLEN); /* was getwd(tbuf); */ else if (tbuf[0]=='~' && tbuf[1]==0 && getenv("HOME")) ! strlcpy(tbuf, (char *)getenv("HOME"), sizeof(tbuf)); ! strlcat(tbuf, "/", sizeof(tbuf)); ! strlcat(tbuf, name, sizeof(tbuf)); if (access(tbuf, X_OK) == 0) { # ifndef hpux diff -arcN arc.orig/configure arc/configure *** arc.orig/configure Fri Apr 25 09:05:20 2003 --- arc/configure Mon Apr 25 05:56:07 2005 *************** *** 25,31 **** build=`uname -s 2>/dev/null` || build="unknown" case "$build" in ! Linux | SunOS | FreeBSD ) arc_default_prefix=/usr/local ;; Cygwin* | CYGWIN* ) --- 25,31 ---- build=`uname -s 2>/dev/null` || build="unknown" case "$build" in ! Linux | SunOS | FreeBSD | NetBSD | OpenBSD ) arc_default_prefix=/usr/local ;; Cygwin* | CYGWIN* ) *************** *** 427,433 **** _ACEOF case "$build" in ! Linux | FreeBSD ) asccmd=asc arccmd=arc cat >> ./bootstrap.sh <<_ACEOF --- 427,433 ---- _ACEOF case "$build" in ! Linux | FreeBSD | NetBSD | OpenBSD ) asccmd=asc arccmd=arc cat >> ./bootstrap.sh <<_ACEOF diff -arcN arc.orig/src/sysnm.scm arc/src/sysnm.scm *** arc.orig/src/sysnm.scm Thu Apr 17 19:56:48 2003 --- arc/src/sysnm.scm Mon Apr 25 05:56:26 2005 *************** *** 17,23 **** (define arc:uname-s-matrix '((("linux") linux) ! (("bsd" "freebsd" "ultrix") bsd) (("win32") win32) (("osx" "darwin") macosx) (("beos") beos) --- 17,23 ---- (define arc:uname-s-matrix '((("linux") linux) ! (("bsd" "freebsd" "netbsd" "openbsd" "ultrix") bsd) (("win32") win32) (("osx" "darwin") macosx) (("beos") beos)