[Freeswitch-svn] [commit] r3854 - in freeswitch/trunk/src: include mod/languages/mod_spidermonkey

Freeswitch SVN mikej at freeswitch.org
Wed Dec 27 17:47:47 EST 2006


Author: mikej
Date: Wed Dec 27 17:47:46 2006
New Revision: 3854

Modified:
   freeswitch/trunk/src/include/switch_apr.h
   freeswitch/trunk/src/mod/languages/mod_spidermonkey/mod_spidermonkey.c

Log:
add FileDelete function to spidermonkey takes 1 param, the path of the file to delete, using / as the path seperator, regardless of unix vs. windows.  returns true is it was successfull, otherwise false

Modified: freeswitch/trunk/src/include/switch_apr.h
==============================================================================
--- freeswitch/trunk/src/include/switch_apr.h	(original)
+++ freeswitch/trunk/src/include/switch_apr.h	Wed Dec 27 17:47:46 2006
@@ -193,6 +193,16 @@
 #define switch_file_close apr_file_close
 
 /**
+ * Delete the specified file.
+ * @param path The full path to the file (using / on all systems)
+ * @param pool The pool to use.
+ * @remark If the file is open, it won't be removed until all
+ * instances are closed.
+ */
+DoxyDefine(apr_status_t apr_file_remove(const char *path, apr_pool_t *pool);)
+#define switch_file_remove apr_file_remove
+
+/**
  * Read data from the specified file.
  * @param thefile The file descriptor to read from.
  * @param buf The buffer to store the data to.

Modified: freeswitch/trunk/src/mod/languages/mod_spidermonkey/mod_spidermonkey.c
==============================================================================
--- freeswitch/trunk/src/mod/languages/mod_spidermonkey/mod_spidermonkey.c	(original)
+++ freeswitch/trunk/src/mod/languages/mod_spidermonkey/mod_spidermonkey.c	Wed Dec 27 17:47:46 2006
@@ -2239,6 +2239,20 @@
 	return JS_TRUE;
 }
 
+static JSBool js_file_unlink(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
+{
+	const char *path;
+	*rval = BOOLEAN_TO_JSVAL( JS_FALSE );
+	if ( argc > 0 && (path = (const char *)JS_GetStringBytes(JS_ValueToString(cx, argv[0])))) {
+		if ((switch_file_remove(path, NULL)) == SWITCH_STATUS_SUCCESS) {
+			*rval = BOOLEAN_TO_JSVAL( JS_TRUE );
+		}
+		return JS_TRUE;
+	}
+	switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Invalid Arguements\n");
+	return JS_FALSE;
+}
+
 static JSFunctionSpec fs_functions[] = {
 	{"console_log", js_log, 2}, 
 	{"exit", js_exit, 0}, 
@@ -2246,6 +2260,7 @@
 	{"bridge", js_bridge, 2},
 	{"apiExecute", js_api_execute, 2},
 	{"use", js_api_use, 1},
+	{"FileDelete", js_file_unlink, 1},
 #ifdef HAVE_CURL
 	{"fetchURLHash", js_fetchurl_hash, 1}, 
 	{"fetchURLFile", js_fetchurl_file, 1}, 



More information about the Freeswitch-svn mailing list