From 4f159b2fa901b1b01d385fa978b1a34f03a24d53 Mon Sep 17 00:00:00 2001 From: rswindell <> Date: Thu, 30 Dec 2004 11:00:31 +0000 Subject: [PATCH] Created global method: file_cfgname(), wrapper for xpdev->iniFileName() --- src/sbbs3/js_global.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/src/sbbs3/js_global.c b/src/sbbs3/js_global.c index f39583686a..ed06d944ed 100644 --- a/src/sbbs3/js_global.c +++ b/src/sbbs3/js_global.c @@ -41,6 +41,7 @@ #include "md5.h" #include "base64.h" #include "htmlansi.h" +#include "ini_file.h" #define MAX_ANSI_SEQ 16 #define MAX_ANSI_PARAMS 8 @@ -1883,6 +1884,24 @@ js_getfcase(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) return(JS_TRUE); } +static JSBool +js_cfgfname(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) +{ + char* path; + char* fname; + char result[MAX_PATH+1]; + + if((path=JS_GetStringBytes(JS_ValueToString(cx, argv[0])))==NULL) + return(JS_FALSE); + + if((fname=JS_GetStringBytes(JS_ValueToString(cx, argv[1])))==NULL) + return(JS_FALSE); + + *rval = STRING_TO_JSVAL(JS_NewStringCopyZ(cx,iniFileName(result,sizeof(result),path,fname))); + + return(JS_TRUE); +} + static JSBool js_fexist(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) { @@ -2486,6 +2505,12 @@ static jsSyncMethodSpec js_global_functions[] = { "or <i>undefined</i> if the file doesn't exist") ,311 }, + {"file_cfgname", js_cfgfname, 2, JSTYPE_STRING, JSDOCSTR("string path, filename") + ,JSDOCSTR("returns completed configuration filename from supplied <i>path</i> and <i>filename</i>, " + "optionally including the local hostname (e.g. <tt>path/file.<i>host</i>.<i>domain</i>.ext</tt> " + "or <tt>path/file.<i>host</i>.ext</tt>) if such a variation of the filename exists") + ,312 + }, {"file_exists", js_fexist, 1, JSTYPE_BOOLEAN, JSDOCSTR("string filename") ,JSDOCSTR("verify a file's existence") ,310 -- GitLab