[CVS] RPM: rpm-5_4: rpm/rpmio/ rpmjs17.cpp rpmjs185.cpp rpmjs24.cpp rp...
RPM Package Manager, CVS Repository http://rpm5.org/cvs/ Server: rpm5.org Name: Jeff Johnson Root: /v/rpm/cvs Email: j...@rpm5.org Module: rpm Date: 25-Jun-2017 01:46:21 Branch: rpm-5_4 Handle: 2017062423462100 Modified files: (Branch: rpm-5_4) rpm/rpmio rpmjs17.cpp rpmjs185.cpp rpmjs24.cpp rpmjs31.cpp rpmjs38.cpp Log: - rpmjss: make as similar as possible. Summary: RevisionChanges Path 1.1.2.8 +17 -22 rpm/rpmio/rpmjs17.cpp 1.1.2.8 +1 -8 rpm/rpmio/rpmjs185.cpp 1.1.2.9 +46 -36 rpm/rpmio/rpmjs24.cpp 1.1.2.9 +43 -32 rpm/rpmio/rpmjs31.cpp 1.1.2.9 +37 -25 rpm/rpmio/rpmjs38.cpp patch -p0 <<'@@ .' Index: rpm/rpmio/rpmjs17.cpp $ cvs diff -u -r1.1.2.7 -r1.1.2.8 rpmjs17.cpp --- rpm/rpmio/rpmjs17.cpp 24 Jun 2017 20:32:04 - 1.1.2.7 +++ rpm/rpmio/rpmjs17.cpp 24 Jun 2017 23:46:21 - 1.1.2.8 @@ -28,9 +28,9 @@ static int rpmjss_nopens; -static int _rpmjss17_debug; +int _rpmjss_debug; #define SPEW(_fmt, ...) \ -if (_rpmjss17_debug) \ +if (_rpmjss_debug) \ fprintf(stderr, _fmt, __VA_ARGS__) /*==*/ @@ -465,13 +465,13 @@ JS_SetVersion(I->cx, JSVERSION_LATEST); JS_SetErrorReporter(I->cx, rpmjssReportError); -JS::RootedObject global(I->cx, +JS::RootedObject glob(I->cx, JS_NewGlobalObject(I->cx, _clasp, _principals)); -I->global = global; +I->global = glob; assert(I->global); JS_SetGlobalObject(I->cx, I->global); -ok = JS_InitStandardClasses(I->cx, global); +ok = JS_InitStandardClasses(I->cx, I->global); assert(ok); #ifdef JS_HAS_CTYPES ok = JS_InitCTypesClass(I->cx, I->global); @@ -489,17 +489,12 @@ { JSI_t I = (JSI_t) jss->I; -JSBool ok; - -// In practice, you would want to exit this any -// time you're spinning the event loop -JSAutoRequest ar(I->cx); - +JS::RootedObject glob(I->cx, I->global); JS::RootedValue rval(I->cx); {// Scope for JSAutoCompartment - JSAutoCompartment ac(I->cx, I->global); + JSAutoCompartment ac(I->cx, glob); - ok = JS_EvaluateScript(I->cx, I->global, + JSBool ok = JS_EvaluateScript(I->cx, glob, script, strlen(script), fn, ln, rval.address()); if (!ok) @@ -510,29 +505,29 @@ size_t nb = sizeof(b); char * t = NULL; -if (JSVAL_IS_NULL(rval)) { +if (rval.isNull()) { t = xstrdup(""); } else -if (JSVAL_IS_VOID(rval)) { +if (rval.isUndefined()) { t = xstrdup(""); } else -if (JSVAL_IS_BOOLEAN(rval)) { +if (rval.isBoolean()) { snprintf(b, nb, "%c", (rval.toBoolean() ? 'T' : 'F')); t = xstrdup(b); } else -if (JSVAL_IS_INT(rval)) {/* int32_t */ +if (rval.isInt32()) { snprintf(b, nb, "%d", rval.toInt32()); t = xstrdup(b); } else -if (JSVAL_IS_DOUBLE(rval)) { +if (rval.isDouble()) { snprintf(b, nb, "%.16g", rval.toDouble()); t = xstrdup(b); } else -if (JSVAL_IS_NUMBER(rval)) { +if (rval.isNumber()) { snprintf(b, nb, "%.16g", rval.toNumber()); t = xstrdup(b); } else -if (JSVAL_IS_STRING(rval)) { +if (rval.isString()) { t = JS_EncodeString(I->cx, rval.toString()); } else t = xstrdup(""); @@ -545,8 +540,8 @@ return 0; } -static struct JSIO_s _mozjs17 = { mozFini, mozInit, mozRun }; -JSIO_t mozjs17 = &_mozjs17; +static struct JSIO_s _mozjs = { mozFini, mozInit, mozRun }; +JSIO_t mozjs17 = &_mozjs; #if defined(RPMJSS_SELF_TEST) #include @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/rpmjs185.cpp $ cvs diff -u -r1.1.2.7 -r1.1.2.8 rpmjs185.cpp --- rpm/rpmio/rpmjs185.cpp24 Jun 2017 20:47:34 - 1.1.2.7 +++ rpm/rpmio/rpmjs185.cpp24 Jun 2017 23:46:21 - 1.1.2.8 @@ -471,13 +471,6 @@ { JSI_t I = (JSI_t) jss->I; -JSClass * _clasp = (JSClass *)_class; -#ifdef NOTYET -JSFunctionSpec * _functions = global_functions; -#endif -JSPrincipals * _principals = NULL; -JSBool ok; - jsval rval; {// Scope for JSAutoCompartment @@ -487,7 +480,7 @@ return 1; #endif -
[CVS] RPM: rpm-5_4: rpm/rpmio/ rpmjs17.cpp rpmjs185.cpp rpmjs24.cpp rp...
RPM Package Manager, CVS Repository http://rpm5.org/cvs/ Server: rpm5.org Name: Jeff Johnson Root: /v/rpm/cvs Email: j...@rpm5.org Module: rpm Date: 24-Jun-2017 21:09:35 Branch: rpm-5_4 Handle: 2017062419093401 Modified files: (Branch: rpm-5_4) rpm/rpmio rpmjs17.cpp rpmjs185.cpp rpmjs24.cpp rpmjs31.cpp rpmjs38.cpp rpmjs45.cpp rpmjss.h Log: - rpmjss: return the script result. Summary: RevisionChanges Path 1.1.2.6 +11 -6 rpm/rpmio/rpmjs17.cpp 1.1.2.6 +11 -6 rpm/rpmio/rpmjs185.cpp 1.1.2.7 +11 -6 rpm/rpmio/rpmjs24.cpp 1.1.2.7 +11 -6 rpm/rpmio/rpmjs31.cpp 1.1.2.7 +11 -6 rpm/rpmio/rpmjs38.cpp 1.1.2.8 +1528 -16 rpm/rpmio/rpmjs45.cpp 1.1.2.2 +2 -1 rpm/rpmio/rpmjss.h patch -p0 <<'@@ .' Index: rpm/rpmio/rpmjs17.cpp $ cvs diff -u -r1.1.2.5 -r1.1.2.6 rpmjs17.cpp --- rpm/rpmio/rpmjs17.cpp 23 Jun 2017 06:51:22 - 1.1.2.5 +++ rpm/rpmio/rpmjs17.cpp 24 Jun 2017 19:09:34 - 1.1.2.6 @@ -484,8 +484,8 @@ return I; } -static int mozRun(rpmjss jss, - const char * script, const char * filename, int lineno) +static int mozRun(rpmjss jss, const char ** resultp, + const char * script, const char * fn, unsigned ln) { JSI_t I = (JSI_t) jss->I; @@ -500,15 +500,17 @@ JSAutoCompartment ac(I->cx, I->global); ok = JS_EvaluateScript(I->cx, I->global, - script, strlen(script), filename, lineno, + script, strlen(script), fn, ln, rval.address()); if (!ok) return 1; } JSString *str = rval.toString(); char * t = JS_EncodeString(I->cx, str); -printf("%s\n", t); -t = _free(t); +if (resultp) + *resultp = t; +else + t = _free(t); return 0; } @@ -530,7 +532,10 @@ { const char *script = "'hello'+'world, it is '+new Date()"; - rc = mozRun(jss, script, __FILE__, __LINE__); + const char * result = NULL; + rc = mozRun(jss, , script, __FILE__, __LINE__); + fprintf(stderr, "<== result |%s|\n", result); + result = _free(result); } mozFini(jss); @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/rpmjs185.cpp $ cvs diff -u -r1.1.2.5 -r1.1.2.6 rpmjs185.cpp --- rpm/rpmio/rpmjs185.cpp23 Jun 2017 06:51:22 - 1.1.2.5 +++ rpm/rpmio/rpmjs185.cpp24 Jun 2017 19:09:35 - 1.1.2.6 @@ -466,8 +466,8 @@ return I; } -static int mozRun(rpmjss jss, - const char * script, const char * filename, int lineno) +static int mozRun(rpmjss jss, const char ** resultp, + const char * script, const char * fn, unsigned ln) { JSI_t I = (JSI_t) jss->I; @@ -488,15 +488,17 @@ #endif ok = JS_EvaluateScript(I->cx, I->global, - script, strlen(script), filename, lineno, + script, strlen(script), fn, ln, ); if (!ok) return 1; } JSString *str = JS_ValueToString(I->cx, rval); char * t = JS_EncodeString(I->cx, str); -printf("%s\n", t); -t = _free(t); +if (resultp) + *resultp = t; +else + t = _free(t); return 0; } @@ -518,7 +520,10 @@ { const char *script = "'hello'+'world, it is '+new Date()"; - rc = mozRun(jss, script, __FILE__, __LINE__); + const char * result = NULL; + rc = mozRun(jss, , script, __FILE__, __LINE__); + fprintf(stderr, "<== result |%s|\n", result); + result = _free(result); } mozFini(jss); @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/rpmjs24.cpp $ cvs diff -u -r1.1.2.6 -r1.1.2.7 rpmjs24.cpp --- rpm/rpmio/rpmjs24.cpp 23 Jun 2017 06:51:22 - 1.1.2.6 +++ rpm/rpmio/rpmjs24.cpp 24 Jun 2017 19:09:35 - 1.1.2.7 @@ -103,8 +103,8 @@ return I; } -static int mozRun(rpmjss jss, - const char * script, const char * filename, int lineno) +static int mozRun(rpmjss jss, const char ** resultp, + const char * script, const char * fn, unsigned ln) { JSI_t I = (JSI_t) jss->I; @@ -133,15 +133,17 @@ JS_InitStandardClasses(I->cx, global); ok =
[CVS] RPM: rpm-5_4: rpm/rpmio/ rpmjs17.cpp rpmjs185.cpp rpmjs24.cpp rp...
RPM Package Manager, CVS Repository http://rpm5.org/cvs/ Server: rpm5.org Name: Jeff Johnson Root: /v/rpm/cvs Email: j...@rpm5.org Module: rpm Date: 23-Jun-2017 08:51:22 Branch: rpm-5_4 Handle: 2017062306512200 Modified files: (Branch: rpm-5_4) rpm/rpmio rpmjs17.cpp rpmjs185.cpp rpmjs24.cpp rpmjs31.cpp rpmjs38.cpp rpmjs45.cpp Log: - rpmjss: fix: plug the JS_EncodeString() memory leak. Summary: RevisionChanges Path 1.1.2.5 +3 -1 rpm/rpmio/rpmjs17.cpp 1.1.2.5 +3 -1 rpm/rpmio/rpmjs185.cpp 1.1.2.6 +3 -1 rpm/rpmio/rpmjs24.cpp 1.1.2.6 +3 -1 rpm/rpmio/rpmjs31.cpp 1.1.2.6 +3 -1 rpm/rpmio/rpmjs38.cpp 1.1.2.7 +3 -1 rpm/rpmio/rpmjs45.cpp patch -p0 <<'@@ .' Index: rpm/rpmio/rpmjs17.cpp $ cvs diff -u -r1.1.2.4 -r1.1.2.5 rpmjs17.cpp --- rpm/rpmio/rpmjs17.cpp 23 Jun 2017 03:39:43 - 1.1.2.4 +++ rpm/rpmio/rpmjs17.cpp 23 Jun 2017 06:51:22 - 1.1.2.5 @@ -506,7 +506,9 @@ return 1; } JSString *str = rval.toString(); -printf("%s\n", JS_EncodeString(I->cx, str)); +char * t = JS_EncodeString(I->cx, str); +printf("%s\n", t); +t = _free(t); return 0; } @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/rpmjs185.cpp $ cvs diff -u -r1.1.2.4 -r1.1.2.5 rpmjs185.cpp --- rpm/rpmio/rpmjs185.cpp23 Jun 2017 03:39:43 - 1.1.2.4 +++ rpm/rpmio/rpmjs185.cpp23 Jun 2017 06:51:22 - 1.1.2.5 @@ -494,7 +494,9 @@ return 1; } JSString *str = JS_ValueToString(I->cx, rval); -printf("%s\n", JS_EncodeString(I->cx, str)); +char * t = JS_EncodeString(I->cx, str); +printf("%s\n", t); +t = _free(t); return 0; } @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/rpmjs24.cpp $ cvs diff -u -r1.1.2.5 -r1.1.2.6 rpmjs24.cpp --- rpm/rpmio/rpmjs24.cpp 23 Jun 2017 03:39:43 - 1.1.2.5 +++ rpm/rpmio/rpmjs24.cpp 23 Jun 2017 06:51:22 - 1.1.2.6 @@ -139,7 +139,9 @@ return 1; } JSString *str = rval.toString(); -printf("%s\n", JS_EncodeString(I->cx, str)); +char * t = JS_EncodeString(I->cx, str); +printf("%s\n", t); +t = _free(t); return 0; } @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/rpmjs31.cpp $ cvs diff -u -r1.1.2.5 -r1.1.2.6 rpmjs31.cpp --- rpm/rpmio/rpmjs31.cpp 23 Jun 2017 03:39:43 - 1.1.2.5 +++ rpm/rpmio/rpmjs31.cpp 23 Jun 2017 06:51:22 - 1.1.2.6 @@ -136,7 +136,9 @@ return 1; } JSString *str = rval.toString(); -printf("%s\n", JS_EncodeString(I->cx, str)); +char * t = JS_EncodeString(I->cx, str); +printf("%s\n", t); +t = _free(t); return 0; } @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/rpmjs38.cpp $ cvs diff -u -r1.1.2.5 -r1.1.2.6 rpmjs38.cpp --- rpm/rpmio/rpmjs38.cpp 23 Jun 2017 03:39:43 - 1.1.2.5 +++ rpm/rpmio/rpmjs38.cpp 23 Jun 2017 06:51:22 - 1.1.2.6 @@ -136,7 +136,9 @@ return 1; } JSString *str = rval.toString(); -printf("%s\n", JS_EncodeString(I->cx, str)); +char * t = JS_EncodeString(I->cx, str); +printf("%s\n", t); +t = _free(t); return 0; } @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/rpmjs45.cpp $ cvs diff -u -r1.1.2.6 -r1.1.2.7 rpmjs45.cpp --- rpm/rpmio/rpmjs45.cpp 23 Jun 2017 03:39:43 - 1.1.2.6 +++ rpm/rpmio/rpmjs45.cpp 23 Jun 2017 06:51:22 - 1.1.2.7 @@ -813,7 +813,9 @@ } JSString *str = rval.toString(); -printf("%s\n", JS_EncodeString(I->cx, str)); +char * t = JS_EncodeString(I->cx, str); +printf("%s\n", t); +t = _free(t); return 0; } @@ . __ RPM Package Managerhttp://rpm5.org CVS Sources Repositoryrpm-cvs@rpm5.org