diff --git a/src/sbbs3/jsexec.c b/src/sbbs3/jsexec.c index 2ff09eb86a1f63f7da07fa8e703a1ee1803b8305..51fb1c11e6a5b6e6e51b5c6f4738f4d361c9f9b3 100644 --- a/src/sbbs3/jsexec.c +++ b/src/sbbs3/jsexec.c @@ -57,6 +57,8 @@ FILE* errfp; FILE* nulfp; FILE* statfp; char revision[16]; +char* host_name=NULL; +char host_name_buf[128]; BOOL pause_on_exit=FALSE; BOOL pause_on_error=FALSE; BOOL terminated=FALSE; @@ -84,6 +86,8 @@ void usage(FILE* fp) "\t-b <limit> set branch limit (default=%u, 0=unlimited)\n" "\t-y <freq> set yield interval (default=%u, 0=never)\n" "\t-g <freq> set garbage collection interval (default=%u, 0=never)\n" + "\t-H use local host name (instead of SCFG value)\n" + "\t-h <hostname> use specified host name (instead of SCFG value)\n" "\t-t <filename> send console output to stdout and filename\n" "\t-e send error messages to console instead of stderr\n" "\t-n send status messages to %s instead of stdout\n" @@ -462,7 +466,7 @@ static BOOL js_init(char** environ) return(FALSE); /* System Object */ - if(js_CreateSystemObject(js_cx, js_glob, &scfg, time(NULL), scfg.sys_inetaddr)==NULL) + if(js_CreateSystemObject(js_cx, js_glob, &scfg, time(NULL), host_name)==NULL) return(FALSE); /* Socket Class */ @@ -674,6 +678,12 @@ int main(int argc, char **argv, char** environ) case 'g': branch.gc_interval=strtoul(argv[++argn],NULL,0); break; + case 'h': + host_name=argv[++argn]; + break; + case 'H': + gethostname(host_name=host_name_buf,sizeof(host_name_buf)); + break; case 'e': errfp=confp; break; @@ -701,7 +711,6 @@ int main(int argc, char **argv, char** environ) default: fprintf(errfp,"\n!Unsupported option: %s\n",argv[argn]); case '?': - case 'h': usage(errfp); bail(1); } @@ -738,6 +747,9 @@ int main(int argc, char **argv, char** environ) } prep_dir(scfg.data_dir, scfg.temp_dir, sizeof(scfg.temp_dir)); + if(host_name==NULL) + host_name=scfg.sys_inetaddr; + if(!(scfg.sys_misc&SM_LOCAL_TZ)) putenv("TZ=UTC0");