Skip to content
Snippets Groups Projects
Commit ad1a081c authored by rswindell's avatar rswindell
Browse files

Added -c command-line option to specify path to ctrl_dir on command-line

rather than use SBBSCTRL environment variable (if set).
parent 344b83a1
No related branches found
No related tags found
No related merge requests found
......@@ -50,6 +50,7 @@ ulong js_max_bytes=JAVASCRIPT_MAX_BYTES;
ulong js_context_stack=JAVASCRIPT_CONTEXT_STACK;
FILE* confp;
FILE* errfp;
FILE* nulfp;
char revision[16];
BOOL pause_on_exit=FALSE;
......@@ -69,6 +70,7 @@ void usage(FILE* fp)
fprintf(fp,"\nusage: jsexec [-opts] [path]module[.js] [args]\n"
"\navailable opts:\n\n"
"\t-c <ctrl_dir> specify path to Synchronet CTRL directory\n"
"\t-m <bytes> set maximum heap size (default=%u bytes)\n"
"\t-s <bytes> set context stack size (default=%u bytes)\n"
"\t-b <limit> set branch limit (default=%u, 0=unlimited)\n"
......@@ -467,6 +469,7 @@ int main(int argc, char **argv, char** environ)
confp=stdout;
errfp=stderr;
nulfp=fopen(_PATH_DEVNULL,"w+");
branch.limit=JAVASCRIPT_BRANCH_LIMIT;
branch.yield_freq=JAVASCRIPT_YIELD_FREQUENCY;
......@@ -474,16 +477,8 @@ int main(int argc, char **argv, char** environ)
sscanf("$Revision$", "%*s %s", revision);
p=getenv("SBBSCTRL");
if(p==NULL) {
fprintf(errfp,"\nSBBSCTRL environment variable not set.\n");
fprintf(errfp,"\nExample: SET SBBSCTRL=/sbbs/ctrl\n");
bail(1);
}
memset(&scfg,0,sizeof(scfg));
scfg.size=sizeof(scfg);
SAFECOPY(scfg.ctrl_dir,p);
for(argn=1;argn<argc && module==NULL;argn++) {
if(argv[argn][0]=='-') {
......@@ -507,11 +502,14 @@ int main(int argc, char **argv, char** environ)
errfp=confp;
break;
case 'q':
confp=fopen(_PATH_DEVNULL,"w");
confp=nulfp;
break;
case 'p':
pause_on_exit=TRUE;
break;
case 'c':
SAFECOPY(scfg.ctrl_dir,argv[++argn]);
break;
default:
usage(errfp);
bail(1);
......@@ -521,6 +519,16 @@ int main(int argc, char **argv, char** environ)
module=argv[argn];
}
if(scfg.ctrl_dir[0]==0) {
if((p=getenv("SBBSCTRL"))==NULL) {
fprintf(errfp,"\nSBBSCTRL environment variable not set and -c option not specified.\n");
fprintf(errfp,"\nExample: SET SBBSCTRL=/sbbs/ctrl\n");
fprintf(errfp,"\n or: %s -c /sbbs/ctrl [module]\n",argv[0]);
bail(1);
}
SAFECOPY(scfg.ctrl_dir,p);
}
if(module==NULL) {
usage(errfp);
bail(1);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment