[commit] r3854 - in freeswitch/trunk/src: include mod/languages/mod_spidermonkey
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},
participants (1)
-
Freeswitch SVN