Skip to content
Snippets Groups Projects
Commit f6570391 authored by deuce's avatar deuce
Browse files

Add file_area.alt_paths array containing the (zero-based) alt paths.

parent e9ecdf6a
Branches
Tags
No related merge requests found
......@@ -44,10 +44,10 @@
static char* file_area_prop_desc[] = {
"minimum amount of available disk space (in kilobytes) required for user uploads to be allowed"
,"file area settings (bitfield) - see <tt>FM_*</tt> in <tt>sbbsdefs.js</tt> for details"
,"array of alternative file paths. NOTE: this array is zero-based, but alt path fields are one-based."
,NULL
};
static char* lib_prop_desc[] = {
"index into lib_list array (or -1 if not in array) <i>(introduced in v3.12)</i>"
,"unique number for this library"
......@@ -110,6 +110,7 @@ JSBool DLLCALL js_file_area_resolve(JSContext* cx, JSObject* areaobj, jsid id)
JSObject* alldirs;
JSObject* libobj;
JSObject* dirobj;
JSObject* alt_list;
JSObject* lib_list;
JSObject* dir_list;
JSString* js_str;
......@@ -151,6 +152,27 @@ JSBool DLLCALL js_file_area_resolve(JSContext* cx, JSObject* areaobj, jsid id)
return(JS_TRUE);
}
if(name==NULL || strcmp(name, "alt_paths")==0) {
if(name)
free(name);
/* file_area.alt_paths[] */
if((alt_list=JS_NewArrayObject(cx, 0, NULL))==NULL)
return JS_FALSE;
val=OBJECT_TO_JSVAL(alt_list);
if(!JS_SetProperty(cx, areaobj, "alt_paths", &val))
return JS_FALSE;
for (l=0; l<p->cfg->altpaths; l++) {
if((js_str=JS_NewStringCopyZ(cx, p->cfg->altpath[l]))==NULL)
return JS_FALSE;
val=STRING_TO_JSVAL(js_str);
if(!JS_SetElement(cx, alt_list, l, &val))
return JS_FALSE;
}
}
#ifdef BUILD_JSDOCS
js_CreateArrayOfStrings(cx, areaobj, "_property_desc_list", file_area_prop_desc, JSPROP_READONLY);
#endif
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment