--- ray/src/common/expandarg.c 1992/11/08 16:23:17 2.2 +++ ray/src/common/expandarg.c 2008/05/17 02:49:41 2.9 @@ -1,22 +1,29 @@ -/* Copyright (c) 1992 Regents of the University of California */ - #ifndef lint -static char SCCSid[] = "$SunId$ LBL"; +static const char RCSid[] = "$Id: expandarg.c,v 2.9 2008/05/17 02:49:41 greg Exp $"; #endif - /* * Get additional command arguments from file or environment. + * + * External symbols declared in rtio.h */ -#include "standard.h" +#include "copyright.h" -#define MAXARGEXP 512 /* maximum argument expansion */ +#include +#include +#include "rtio.h" +#include "rtmisc.h" + + +#define MAXARGEXP 4096 /* maximum argument expansion */ + /* set the following to suit, -1 to disable */ int envexpchr = '$'; /* environment expansion character */ -int filexpchr = '^'; /* file expansion character */ +int filexpchr = '@'; /* file expansion character */ +int expandarg(acp, avp, n) /* expand list at argument n */ int *acp; register char ***avp; @@ -44,11 +51,11 @@ int n; if (newav == NULL) return(-1); /* copy preceeding arguments */ - bcopy((char *)*avp, (char *)newav, n*sizeof(char *)); + memcpy((void *)newav, (void *)*avp, n*sizeof(char *)); /* copy expanded argument */ - bcopy((char *)ave, (char *)(newav+n), ace*sizeof(char *)); + memcpy((void *)(newav+n), (void *)ave, ace*sizeof(char *)); /* copy trailing arguments + NULL */ - bcopy((char *)(*avp+n+1), (char *)(newav+n+ace), (*acp-n)*sizeof(char *)); + memcpy((void *)(newav+n+ace), (void *)(*avp+n+1), (*acp-n)*sizeof(char *)); /* free old list */ bfree((char *)*avp, (*acp+1)*sizeof(char *)); /* assign new list */