svn commit: samba r23047 - in	branches/SAMBA_4_0/source/scripting/ejs: . Author: mimir Date: 2007-05-21 19:53:57 +0000 (Mon, 21 May 2007) New Revision: 23047 WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=23047 Log: Allow local inclusion of js files as well as from predefined path(s). rafal Modified:    branches/SAMBA_4_0/source/scripting/ejs/smbcalls.c Changeset: Modified: branches/SAMBA_4_0/source/scripting/ejs/smbcalls.c =================================================================== --- branches/SAMBA_4_0/source/scripting/ejs/smbcalls.c	2007-05-21 19:12:14 UTC (rev 23046) +++ branches/SAMBA_4_0/source/scripting/ejs/smbcalls.c	2007-05-21 19:53:57 UTC (rev 23047) @@ -120,17 +120,34 @@    	for (i = 0; i < argc; i++) {  		const char *script = argv[i]; +		struct MprVar result; +		char *path, *emsg; +		int ret;   +		/* First, try to include file from current working directory. +		   This allows local includes which is handy sometimes. */ +		path = talloc_asprintf(mprMemCtx(), "%s", script); +		if (path == NULL) { +			return -1; +		} +		 +		if (file_exist(path)) { +			ret = ejsEvalFile(eid, path, &result, &emsg); +			talloc_free(path); +			if (ret < 0) { +				ejsSetErrorMsg(eid, "%s: %s", script, emsg); +				return -1; +			} +			continue; +		} + +		/* use specfied path to search for requested file */  		for (j=0;js_include[j];j++) { -			char *path;  			path = talloc_asprintf(mprMemCtx(), "%s/%s", js_include[j], script);  			if (path == NULL) {  				return -1;  			}  			if (file_exist(path)) { -				int ret; -				struct MprVar result; -				char *emsg;    				ret = ejsEvalFile(eid, path, &result, &emsg);  				talloc_free(path); @@ -142,6 +159,7 @@  			}  			talloc_free(path);  		} +  		if (js_include[j] == NULL) {  			ejsSetErrorMsg(eid, "unable to include '%s'", script);  			return -1;