From 1b9e7ebb33f75f0188cd5a93074a1c4ef2be2510 Mon Sep 17 00:00:00 2001
From: rswindell <>
Date: Wed, 19 Sep 2001 00:34:34 +0000
Subject: [PATCH] Added file_remove() global function.

---
 src/sbbs3/js_global.c | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/src/sbbs3/js_global.c b/src/sbbs3/js_global.c
index 129b582cbb..1222e2b033 100644
--- a/src/sbbs3/js_global.c
+++ b/src/sbbs3/js_global.c
@@ -280,6 +280,27 @@ js_fexist(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
 	return(JS_TRUE);
 }
 
+static JSBool
+js_remove(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
+{
+	char*		p;
+	JSString*	js_str;
+
+	if((js_str=JS_ValueToString(cx, argv[0]))==NULL) {
+		*rval = BOOLEAN_TO_JSVAL(JS_FALSE);
+		return(JS_TRUE);
+	}
+
+	if((p=JS_GetStringBytes(js_str))==NULL) {
+		*rval = BOOLEAN_TO_JSVAL(JS_FALSE);
+		return(JS_TRUE);
+	}
+
+	*rval = BOOLEAN_TO_JSVAL(remove(p)==0);
+	return(JS_TRUE);
+}
+
+
 static JSBool
 js_isdir(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
 {
@@ -418,6 +439,7 @@ static JSFunctionSpec js_global_functions[] = {
 	{"ascii",			js_ascii,			1},		/* convert str to ascii-val or vice-versa */
 	{"strip_ctrl",		js_strip_ctrl,		1},		/* strip ctrl chars from string */
 	{"file_exists",		js_fexist,			1},		/* verify file existence */
+	{"file_remove",		js_remove,			1},		/* delete a file */
 	{"file_isdir",		js_isdir,			1},		/* check if directory */
 	{"file_attrib",		js_fattr,			1},		/* get file mode/attributes */
 	{"file_date",		js_fdate,			1},		/* get file last modified date/time */
-- 
GitLab