[prev in list] [next in list] [prev in thread] [next in thread] 

List:       rpm-cvs
Subject:    [CVS] RPM: rpm/js/ rpmds-js.c rpmfi-js.c rpmhdr-js.c rpmjs-debug.h rpm...
From:       "Jeff Johnson" <jbj () rpm5 ! org>
Date:       2009-04-26 16:11:33
Message-ID: 20090426161133.6597E4E29 () rpm5 ! org
[Download RAW message or body]

  RPM Package Manager, CVS Repository
  http://rpm5.org/cvs/
  ____________________________________________________________________________

  Server: rpm5.org                         Name:   Jeff Johnson
  Root:   /v/rpm/cvs                       Email:  jbj@rpm5.org
  Module: rpm                              Date:   26-Apr-2009 18:11:33
  Branch: HEAD                             Handle: 2009042616113200

  Added files:
    rpm/js                  rpmjs-debug.h
  Modified files:
    rpm/js                  rpmds-js.c rpmfi-js.c rpmhdr-js.c rpmmi-js.c
                            rpmps-js.c rpmte-js.c rpmts-js.c tjs.c uuid-js.c

  Log:
    - js: compost the debugging spewage in a trash compactor.

  Summary:
    Revision    Changes     Path
    1.7         +16 -56     rpm/js/rpmds-js.c
    1.5         +10 -31     rpm/js/rpmfi-js.c
    1.5         +46 -66     rpm/js/rpmhdr-js.c
    1.1         +70 -0      rpm/js/rpmjs-debug.h
    1.7         +20 -38     rpm/js/rpmmi-js.c
    1.4         +10 -31     rpm/js/rpmps-js.c
    1.4         +10 -31     rpm/js/rpmte-js.c
    1.10        +10 -31     rpm/js/rpmts-js.c
    1.13        +0  -1      rpm/js/tjs.c
    1.6         +19 -38     rpm/js/uuid-js.c
  ____________________________________________________________________________

  patch -p0 <<'@@ .'
  Index: rpm/js/rpmds-js.c
  ============================================================================
  $ cvs diff -u -r1.6 -r1.7 rpmds-js.c
  --- rpm/js/rpmds-js.c	26 Apr 2009 03:56:35 -0000	1.6
  +++ rpm/js/rpmds-js.c	26 Apr 2009 16:11:32 -0000	1.7
  @@ -6,6 +6,7 @@
   
   #include "rpmds-js.h"
   #include "rpmhdr-js.h"
  +#include "rpmjs-debug.h"
   
   #include <argv.h>
   #include <mire.h>
  @@ -18,27 +19,13 @@
   #include "debug.h"
   
   /*@unchecked@*/
  -extern int _rpmjs_debug;
  -
  -/*@unchecked@*/
   static int _debug = 1;
   
  -static const char * v2s(JSContext *cx, jsval v)
  -{
  -    if (JSVAL_IS_NULL(v))	return "null";
  -    if (JSVAL_IS_VOID(v))	return "void";
  -    if (JSVAL_IS_INT(v))	return "integer";
  -    if (JSVAL_IS_DOUBLE(v))	return "double";
  -    if (JSVAL_IS_STRING(v))	return "string";
  -    if (JSVAL_IS_BOOLEAN(v))	return "boolean";
  -    if (JSVAL_IS_OBJECT(v)) {
  -	return OBJ_GET_CLASS(cx, JSVAL_TO_OBJECT(v))->name;
  -    }
  -    return "other";
  -}
  +/* --- helpers */
   
   /* --- Object methods */
   
  +#ifdef	NOTYET
   static JSBool
   rpmds_next(JSContext *cx, uintN argc, jsval *vp)
   {
  @@ -73,6 +60,7 @@
   exit:
       return ok;
   }
  +#endif
   
   static JSBool
   rpmds_self(JSContext *cx, uintN argc, jsval *vp)
  @@ -134,8 +122,7 @@
   {
       void * ptr = JS_GetInstancePrivate(cx, obj, &rpmdsClass, NULL);
   
  -if (_debug < 0)
  -fprintf(stderr, "==> %s(%p,%p,0x%lx[%s],%p) ptr %p %s = %s\n", __FUNCTION__, cx, \
obj, (unsigned long)id, v2s(cx, id), vp, ptr, JS_GetStringBytes(JS_ValueToString(cx, \
id)), JS_GetStringBytes(JS_ValueToString(cx, *vp)));  +_PROP_DEBUG_ENTRY(_debug < 0);
   
       return JS_TRUE;
   }
  @@ -145,8 +132,7 @@
   {
       void * ptr = JS_GetInstancePrivate(cx, obj, &rpmdsClass, NULL);
   
  -if (_debug < 0)
  -fprintf(stderr, "==> %s(%p,%p,0x%lx[%s],%p) ptr %p %s = %s\n", __FUNCTION__, cx, \
obj, (unsigned long)id, v2s(cx, id), vp, ptr, JS_GetStringBytes(JS_ValueToString(cx, \
id)), JS_GetStringBytes(JS_ValueToString(cx, *vp)));  +_PROP_DEBUG_ENTRY(_debug < 0);
   
       return JS_TRUE;
   }
  @@ -211,10 +197,7 @@
       }
   
       if (!ok) {
  -if (_debug) {
  -fprintf(stderr, "==> %s(%p,%p,0x%lx[%s],%p) ptr %p %s = %s\n", __FUNCTION__, cx, \
obj, (unsigned long)id, v2s(cx, id), vp, ptr, JS_GetStringBytes(JS_ValueToString(cx, \
                id)), JS_GetStringBytes(JS_ValueToString(cx, *vp)));
  -ok = JS_TRUE;		/* XXX return JS_TRUE iff ... ? */
  -}
  +_PROP_DEBUG_EXIT(_debug);
       }
   
       return ok;
  @@ -262,10 +245,7 @@
       }
   
       if (!ok) {
  -if (_debug) {
  -fprintf(stderr, "==> %s(%p,%p,0x%lx[%s],%p) ptr %p %s = %s\n", __FUNCTION__, cx, \
obj, (unsigned long)id, v2s(cx, id), vp, ptr, JS_GetStringBytes(JS_ValueToString(cx, \
                id)), JS_GetStringBytes(JS_ValueToString(cx, *vp)));
  -ok = JS_TRUE;		/* XXX return JS_TRUE iff ... ? */
  -}
  +_PROP_DEBUG_EXIT(_debug);
       }
       return ok;
   }
  @@ -279,15 +259,7 @@
       jsint ix;
       JSBool ok = JS_FALSE;
   
  -if (_debug < 0)
  -fprintf(stderr, "==> %s(%p,%p,0x%lx[%s],0x%x,%p) ptr %p property %s flags \
0x%x{%s,%s,%s,%s,%s}\n", __FUNCTION__, cx, obj, (unsigned long)id, v2s(cx, id), \
                (unsigned)flags, objp, ptr,
  -		JS_GetStringBytes(JS_ValueToString(cx, id)), flags,
  -		(flags & JSRESOLVE_QUALIFIED) ? "qualified" : "",
  -		(flags & JSRESOLVE_ASSIGNING) ? "assigning" : "",
  -		(flags & JSRESOLVE_DETECTING) ? "detecting" : "",
  -		(flags & JSRESOLVE_DECLARING) ? "declaring" : "",
  -		(flags & JSRESOLVE_CLASSNAME) ? "classname" : "");
  -
  +_RESOLVE_DEBUG_ENTRY(_debug < 0);
   
       if ((flags & JSRESOLVE_ASSIGNING)
        || (ds == NULL)) {	/* don't resolve to parent prototypes objects. */
  @@ -336,8 +308,7 @@
       JSBool ok = JS_FALSE;
       int ix;
   
  -if (_debug < 0)
  -fprintf(stderr, "==> %s(%p,%p,%d,%p,%p) *statep 0x%lx *idp 0x%lx\n", __FUNCTION__, \
cx, obj, op, statep, idp, (unsigned long)(statep ? *statep : 0xfeedface), (unsigned \
long)(idp ? *idp : 0xdeadbeef));  +_ENUMERATE_DEBUG_ENTRY(_debug < 0);
   
       switch (op) {
       case JSENUMERATE_INIT:
  @@ -368,22 +339,20 @@
   rpmds_convert(JSContext *cx, JSObject *obj, JSType type, jsval *vp)
   {
       void * ptr = JS_GetInstancePrivate(cx, obj, &rpmdsClass, NULL);
  -if (_debug)
  -fprintf(stderr, "==> %s(%p,%p,%d,%p) ptr %p convert to %s\n", __FUNCTION__, cx, \
obj, type, vp, ptr, JS_GetTypeName(cx, type));  +
  +_CONVERT_DEBUG_ENTRY(_debug);
  +
       return JS_TRUE;
   }
   
   /* --- Object ctors/dtors */
  -#define	OBJ_IS_STRING(_cx, _o)	(OBJ_GET_CLASS(_cx, _o) == &js_StringClass)
  -#define	OBJ_IS_HEADER(_cx, _o)	(OBJ_GET_CLASS(_cx, _o) == &rpmhdrClass)
  -
   static rpmds
   rpmds_init(JSContext *cx, JSObject *obj, JSObject *o, int _tagN)
   {
       rpmds ds = NULL;
       int xx;
   
  -    if (OBJ_IS_HEADER(cx, o)) {
  +    if (OBJ_IS_RPMHDR(cx, o)) {
   	Header h = JS_GetPrivate(cx, o);
   	int flags = 0;
   	if (_tagN == RPMTAG_NAME) {
  @@ -422,7 +391,8 @@
   	    xx = rpmdsUname(&ds, NULL);
   if (_debug)
   fprintf(stderr, "\trpmdsUname() ret %d ds %p\n", xx, ds);
  -	} else {
  +	} else
  +	{
   if (_debug)
   fprintf(stderr, "\tstring \"%s\" is unknown. ds %p\n", s, ds);
   	    return NULL;
  @@ -516,15 +486,6 @@
   }
   
   /* --- Class initialization */
  -#ifdef	HACKERY
  -JSClass rpmdsClass = {
  -    "Ds", JSCLASS_NEW_RESOLVE | JSCLASS_NEW_ENUMERATE | JSCLASS_HAS_PRIVATE | \
                JSCLASS_HAS_CACHED_PROTO(JSProto_Object),
  -    rpmds_addprop,   rpmds_delprop, rpmds_getprop, rpmds_setprop,
  -    (JSEnumerateOp)rpmds_enumerate, (JSResolveOp)rpmds_resolve,
  -    rpmds_convert,	rpmds_dtor,
  -    JSCLASS_NO_OPTIONAL_MEMBERS
  -};
  -#else
   JSClass rpmdsClass = {
       "Ds", JSCLASS_NEW_RESOLVE | JSCLASS_NEW_ENUMERATE | JSCLASS_HAS_PRIVATE,
       rpmds_addprop,   rpmds_delprop, rpmds_getprop, rpmds_setprop,
  @@ -532,7 +493,6 @@
       rpmds_convert,	rpmds_dtor,
       JSCLASS_NO_OPTIONAL_MEMBERS
   };
  -#endif
   
   JSObject *
   rpmjs_InitDsClass(JSContext *cx, JSObject* obj)
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/js/rpmfi-js.c
  ============================================================================
  $ cvs diff -u -r1.4 -r1.5 rpmfi-js.c
  --- rpm/js/rpmfi-js.c	25 Apr 2009 21:51:49 -0000	1.4
  +++ rpm/js/rpmfi-js.c	26 Apr 2009 16:11:32 -0000	1.5
  @@ -6,6 +6,7 @@
   
   #include "rpmfi-js.h"
   #include "rpmhdr-js.h"
  +#include "rpmjs-debug.h"
   
   #include <argv.h>
   #include <mire.h>
  @@ -17,11 +18,10 @@
   #include "debug.h"
   
   /*@unchecked@*/
  -extern int _rpmjs_debug;
  -
  -/*@unchecked@*/
   static int _debug = 1;
   
  +/* --- helpers */
  +
   /* --- Object methods */
   
   static JSFunctionSpec rpmfi_funcs[] = {
  @@ -42,10 +42,7 @@
   rpmfi_addprop(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
   {
       void * ptr = JS_GetInstancePrivate(cx, obj, &rpmfiClass, NULL);
  -
  -if (_debug < 0)
  -fprintf(stderr, "==> %s(%p,%p,0x%lx[%u],%p) ptr %p %s = %s\n", __FUNCTION__, cx, \
obj, (unsigned long)id, (unsigned)JSVAL_TAG(id), vp, ptr, \
JS_GetStringBytes(JS_ValueToString(cx, id)), JS_GetStringBytes(JS_ValueToString(cx, \
                *vp)));
  -
  +_PROP_DEBUG_ENTRY(_debug < 0);
       return JS_TRUE;
   }
   
  @@ -53,10 +50,7 @@
   rpmfi_delprop(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
   {
       void * ptr = JS_GetInstancePrivate(cx, obj, &rpmfiClass, NULL);
  -
  -if (_debug)
  -fprintf(stderr, "==> %s(%p,%p,0x%lx[%u],%p) ptr %p %s = %s\n", __FUNCTION__, cx, \
obj, (unsigned long)id, (unsigned)JSVAL_TAG(id), vp, ptr, \
JS_GetStringBytes(JS_ValueToString(cx, id)), JS_GetStringBytes(JS_ValueToString(cx, \
                *vp)));
  -
  +_PROP_DEBUG_ENTRY(_debug < 0);
       return JS_TRUE;
   }
   static JSBool
  @@ -78,10 +72,7 @@
       }
   
       if (!ok) {
  -if (_debug) {
  -fprintf(stderr, "==> %s(%p,%p,0x%lx[%u],%p) ptr %p %s = %s\n", __FUNCTION__, cx, \
obj, (unsigned long)id, (unsigned)JSVAL_TAG(id), vp, ptr, \
JS_GetStringBytes(JS_ValueToString(cx, id)), JS_GetStringBytes(JS_ValueToString(cx, \
                *vp)));
  -ok = JS_TRUE;		/* XXX return JS_TRUE iff ... ? */
  -}
  +_PROP_DEBUG_EXIT(_debug);
       }
       return ok;
   }
  @@ -106,10 +97,7 @@
       }
   
       if (!ok) {
  -if (_debug) {
  -fprintf(stderr, "==> %s(%p,%p,0x%lx[%u],%p) ptr %p %s = %s\n", __FUNCTION__, cx, \
obj, (unsigned long)id, (unsigned)JSVAL_TAG(id), vp, ptr, \
JS_GetStringBytes(JS_ValueToString(cx, id)), JS_GetStringBytes(JS_ValueToString(cx, \
                *vp)));
  -ok = JS_TRUE;		/* XXX return JS_TRUE iff ... ? */
  -}
  +_PROP_DEBUG_EXIT(_debug);
       }
       return ok;
   }
  @@ -126,14 +114,7 @@
       char value[5];
       JSBool ok = JS_FALSE;
   
  -if (_debug)
  -fprintf(stderr, "==> %s(%p,%p,0x%lx[%u],0x%x,%p) ptr %p property %s flags \
0x%x{%s,%s,%s,%s,%s}\n", __FUNCTION__, cx, obj, (unsigned long)id, \
                (unsigned)JSVAL_TAG(id), (unsigned)flags, objp, ptr,
  -		JS_GetStringBytes(JS_ValueToString(cx, id)), flags,
  -		(flags & JSRESOLVE_QUALIFIED) ? "qualified" : "",
  -		(flags & JSRESOLVE_ASSIGNING) ? "assigning" : "",
  -		(flags & JSRESOLVE_DETECTING) ? "detecting" : "",
  -		(flags & JSRESOLVE_DECLARING) ? "declaring" : "",
  -		(flags & JSRESOLVE_CLASSNAME) ? "classname" : "");
  +_RESOLVE_DEBUG_ENTRY(_debug);
   
       if (flags & JSRESOLVE_ASSIGNING) {
   	ok = JS_TRUE;
  @@ -167,8 +148,7 @@
       JSObject *iterator;
       JSBool ok = JS_FALSE;
   
  -if (_debug)
  -fprintf(stderr, "==> %s(%p,%p,%d,%p,%p)\n", __FUNCTION__, cx, obj, op, statep, \
idp);  +_ENUMERATE_DEBUG_ENTRY(_debug);
   
   #ifdef	DYING
       switch (op) {
  @@ -219,8 +199,7 @@
   rpmfi_convert(JSContext *cx, JSObject *obj, JSType type, jsval *vp)
   {
       void * ptr = JS_GetInstancePrivate(cx, obj, &rpmfiClass, NULL);
  -if (_debug)
  -fprintf(stderr, "==> %s(%p,%p,%d,%p) ptr %p convert to %s\n", __FUNCTION__, cx, \
obj, type, vp, ptr, JS_GetTypeName(cx, type));  +_CONVERT_DEBUG_ENTRY(_debug);
       return JS_TRUE;
   }
   
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/js/rpmhdr-js.c
  ============================================================================
  $ cvs diff -u -r1.4 -r1.5 rpmhdr-js.c
  --- rpm/js/rpmhdr-js.c	25 Apr 2009 21:51:49 -0000	1.4
  +++ rpm/js/rpmhdr-js.c	26 Apr 2009 16:11:32 -0000	1.5
  @@ -5,15 +5,14 @@
   #include "system.h"
   
   #include "rpmhdr-js.h"
  +#include "rpmjs-debug.h"
   
   #include "debug.h"
   
   /*@unchecked@*/
  -extern int _rpmjs_debug;
  -
  -/*@unchecked@*/
   static int _debug = 1;
   
  +/* --- helpers */
   static JSObject *
   rpmhdrLoadTag(JSContext *cx, JSObject *obj, Header h, const char * name, jsval \
*vp)  {
  @@ -142,10 +141,7 @@
   rpmhdr_addprop(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
   {
       void * ptr = JS_GetInstancePrivate(cx, obj, &rpmhdrClass, NULL);
  -
  -if (_debug)
  -fprintf(stderr, "==> %s(%p,%p,0x%lx[%u],%p) ptr %p %s = %s\n", __FUNCTION__, cx, \
obj, (unsigned long)id, (unsigned)JSVAL_TAG(id), vp, ptr, \
JS_GetStringBytes(JS_ValueToString(cx, id)), JS_GetStringBytes(JS_ValueToString(cx, \
                *vp)));
  -
  +_PROP_DEBUG_ENTRY(_debug < 0);
       return JS_TRUE;
   }
   
  @@ -153,10 +149,7 @@
   rpmhdr_delprop(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
   {
       void * ptr = JS_GetInstancePrivate(cx, obj, &rpmhdrClass, NULL);
  -
  -if (_debug)
  -fprintf(stderr, "==> %s(%p,%p,0x%lx[%u],%p) ptr %p %s = %s\n", __FUNCTION__, cx, \
obj, (unsigned long)id, (unsigned)JSVAL_TAG(id), vp, ptr, \
JS_GetStringBytes(JS_ValueToString(cx, id)), JS_GetStringBytes(JS_ValueToString(cx, \
                *vp)));
  -
  +_PROP_DEBUG_ENTRY(_debug < 0);
       return JS_TRUE;
   }
   static JSBool
  @@ -184,10 +177,7 @@
       }
   
       if (!ok) {
  -if (_debug) {
  -fprintf(stderr, "==> %s(%p,%p,0x%lx[%u],%p) ptr %p %s = %s\n", __FUNCTION__, cx, \
obj, (unsigned long)id, (unsigned)JSVAL_TAG(id), vp, ptr, \
JS_GetStringBytes(JS_ValueToString(cx, id)), JS_GetStringBytes(JS_ValueToString(cx, \
                *vp)));
  -ok = JS_TRUE;		/* XXX return JS_TRUE iff ... ? */
  -}
  +_PROP_DEBUG_EXIT(_debug);
       }
       return ok;
   }
  @@ -210,11 +200,45 @@
       }
   
       if (!ok) {
  -if (_debug) {
  -fprintf(stderr, "==> %s(%p,%p,0x%lx[%u],%p) ptr %p %s = %s\n", __FUNCTION__, cx, \
obj, (unsigned long)id, (unsigned)JSVAL_TAG(id), vp, ptr, \
JS_GetStringBytes(JS_ValueToString(cx, id)), JS_GetStringBytes(JS_ValueToString(cx, \
                *vp)));
  -ok = JS_TRUE;		/* XXX return JS_TRUE iff ... ? */
  +_PROP_DEBUG_EXIT(_debug);
  +    }
  +    return ok;
   }
  +
  +static JSBool
  +rpmhdr_resolve(JSContext *cx, JSObject *obj, jsval id, uintN flags,
  +	JSObject **objp)
  +{
  +    void * ptr = JS_GetInstancePrivate(cx, obj, &rpmhdrClass, NULL);
  +    Header h = ptr;
  +    JSString *idstr;
  +    char * name;
  +    JSObject * retobj = NULL;
  +    JSBool ok = JS_FALSE;
  +
  +_RESOLVE_DEBUG_ENTRY(_debug);
  +
  +   if (flags & JSRESOLVE_ASSIGNING) {
  +	ok = JS_TRUE;
  +	goto exit;
       }
  +
  +    if ((idstr = JS_ValueToString(cx, id)) == NULL)
  +	goto exit;
  +
  +    name = JS_GetStringBytes(idstr);
  +    if (!strcmp(name, "toString")
  +     || !strcmp(name, "valueOf")
  +     || !strcmp(name, "__iterator__")
  +     || !strcmp(name, "toJSON"))
  +	goto exit;
  +
  +    if ((retobj = rpmhdrLoadTag(cx, obj, h, name, NULL)) == NULL)
  +	goto exit;
  +    *objp = retobj;
  +    ok = JS_TRUE;
  +
  +exit:
       return ok;
   }
   
  @@ -222,11 +246,11 @@
   rpmhdr_enumerate(JSContext *cx, JSObject *obj, JSIterateOp op,
   		  jsval *statep, jsid *idp)
   {
  +    void * ptr = JS_GetInstancePrivate(cx, obj, &rpmhdrClass, NULL);
       JSObject *iterator = NULL;
       JSBool ok = JS_FALSE;
   
  -if (_debug)
  -fprintf(stderr, "==> %s(%p,%p,%d,%p,%p)\n", __FUNCTION__, cx, obj, op, statep, \
idp);  +_ENUMERATE_DEBUG_ENTRY(_debug);
   
       switch (op) {
       case JSENUMERATE_INIT:
  @@ -257,54 +281,10 @@
   }
   
   static JSBool
  -rpmhdr_resolve(JSContext *cx, JSObject *obj, jsval id, uintN flags,
  -	JSObject **objp)
  -{
  -    void * ptr = JS_GetInstancePrivate(cx, obj, &rpmhdrClass, NULL);
  -    Header h = ptr;
  -    JSString *idstr;
  -    char * name;
  -    JSObject * retobj = NULL;
  -    JSBool ok = JS_FALSE;
  -
  -if (_debug)
  -fprintf(stderr, "==> %s(%p,%p,0x%llx,0x%x,%p) property %s flags \
0x%x{%s,%s,%s,%s,%s}\n", __FUNCTION__, cx, obj, (unsigned long long)id, \
                (unsigned)flags, objp,
  -		JS_GetStringBytes(JS_ValueToString(cx, id)), flags,
  -		(flags & JSRESOLVE_QUALIFIED) ? "qualified" : "",
  -		(flags & JSRESOLVE_ASSIGNING) ? "assigning" : "",
  -		(flags & JSRESOLVE_DETECTING) ? "detecting" : "",
  -		(flags & JSRESOLVE_DECLARING) ? "declaring" : "",
  -		(flags & JSRESOLVE_CLASSNAME) ? "classname" : "");
  -
  -   if (flags & JSRESOLVE_ASSIGNING) {
  -	ok = JS_TRUE;
  -	goto exit;
  -    }
  -
  -    if ((idstr = JS_ValueToString(cx, id)) == NULL)
  -	goto exit;
  -
  -    name = JS_GetStringBytes(idstr);
  -    if (!strcmp(name, "toString")
  -     || !strcmp(name, "valueOf")
  -     || !strcmp(name, "__iterator__")
  -     || !strcmp(name, "toJSON"))
  -	goto exit;
  -
  -    if ((retobj = rpmhdrLoadTag(cx, obj, h, name, NULL)) == NULL)
  -	goto exit;
  -    *objp = retobj;
  -    ok = JS_TRUE;
  -
  -exit:
  -    return ok;
  -}
  -
  -static JSBool
   rpmhdr_convert(JSContext *cx, JSObject *obj, JSType type, jsval *vp)
   {
  -if (_debug)
  -fprintf(stderr, "==> %s(%p,%p,%d,%p) convert to %s\n", __FUNCTION__, cx, obj, \
type, vp, JS_GetTypeName(cx, type));  +    void * ptr = JS_GetInstancePrivate(cx, \
obj, &rpmhdrClass, NULL);  +_CONVERT_DEBUG_ENTRY(_debug);
       return JS_TRUE;
   }
   
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/js/rpmjs-debug.h
  ============================================================================
  $ cvs diff -u -r0 -r1.1 rpmjs-debug.h
  --- /dev/null	2009-04-26 18:11:00 +0200
  +++ rpmjs-debug.h	2009-04-26 18:11:33 +0200
  @@ -0,0 +1,70 @@
  +#ifndef H_RPMJS_DEBUG
  +#define H_RPMJS_DEBUG
  +
  +/**
  + * \file js/rpmjs-debug.h
  + */
  +#include <rpm-js.h>
  +
  +#define	OBJ_IS_STRING(_cx, _o)	(OBJ_GET_CLASS(_cx, _o) == &js_StringClass)
  +#define	OBJ_IS_RPMHDR(_cx, _o)	(OBJ_GET_CLASS(_cx, _o) == &rpmhdrClass)
  +
  +static const char * v2s(JSContext *cx, jsval v)
  +{
  +    if (JSVAL_IS_NULL(v))	return "null";
  +    if (JSVAL_IS_VOID(v))	return "void";
  +    if (JSVAL_IS_INT(v))	return "integer";
  +    if (JSVAL_IS_DOUBLE(v))	return "double";
  +    if (JSVAL_IS_STRING(v))	return "string";
  +    if (JSVAL_IS_BOOLEAN(v))	return "boolean";
  +    if (JSVAL_IS_OBJECT(v)) {
  +	return OBJ_GET_CLASS(cx, JSVAL_TO_OBJECT(v))->name;
  +    }
  +    return "other";
  +}
  +
  +#define	_PROP_DEBUG_ENTRY(_test)\
  +    if (_test) \
  +	fprintf(stderr, "==> %s(%p,%p,0x%lx[%s],%p) ptr %p %s = %s\n", \
  +	    __FUNCTION__, cx, obj, (unsigned long)id, v2s(cx, id), vp, ptr, \
  +	    JS_GetStringBytes(JS_ValueToString(cx, id)), \
  +	    JS_GetStringBytes(JS_ValueToString(cx, *vp)))
  +
  +#define	_PROP_DEBUG_EXIT(_test)	\
  +    if (_test) { \
  +	fprintf(stderr, "==> %s(%p,%p,0x%lx[%s],%p) ptr %p %s = %s\n", \
  +	    __FUNCTION__, cx, obj, (unsigned long)id, v2s(cx, id), vp, ptr, \
  +	    JS_GetStringBytes(JS_ValueToString(cx, id)), \
  +	    JS_GetStringBytes(JS_ValueToString(cx, *vp))); \
  +	ok = JS_TRUE;		/* XXX return JS_TRUE iff ... ? */ \
  +    }
  +
  +#define	_RESOLVE_DEBUG_ENTRY(_test) \
  +    if (_test) \
  +	fprintf(stderr, "==> %s(%p,%p,0x%lx[%s],0x%x,%p) ptr %p property %s flags \
0x%x{%s,%s,%s,%s,%s}\n", \  +	    __FUNCTION__, cx, obj, (unsigned long)id, v2s(cx, \
id), \  +	    (unsigned)flags, objp, ptr, \
  +	    JS_GetStringBytes(JS_ValueToString(cx, id)), \
  +	    flags, \
  +		(flags & JSRESOLVE_QUALIFIED) ? "qualified" : "", \
  +		(flags & JSRESOLVE_ASSIGNING) ? "assigning" : "", \
  +		(flags & JSRESOLVE_DETECTING) ? "detecting" : "", \
  +		(flags & JSRESOLVE_DECLARING) ? "declaring" : "", \
  +		(flags & JSRESOLVE_CLASSNAME) ? "classname" : "")
  +
  +#define	_ENUMERATE_DEBUG_ENTRY(_test) \
  +    if (_test) \
  +	fprintf(stderr, "==> %s(%p,%p,%d,%p,%p) *statep 0x%lx *idp 0x%lx\n", \
  +	    __FUNCTION__, cx, obj, op, statep, idp, \
  +	    (unsigned long)(statep ? *statep : 0xfeedface), \
  +	    (unsigned long)(idp ? *idp : 0xdeadbeef))
  +
  +#define	_CONVERT_DEBUG_ENTRY(_test) \
  +    if (_test) \
  +	fprintf(stderr, "==> %s(%p,%p,%d,%p) ptr %p convert to %s\n", \
  +	    __FUNCTION__, cx, obj, type, vp, ptr, JS_GetTypeName(cx, type))
  +
  +/*@unchecked@*/
  +extern int _rpmjs_debug;
  +
  +#endif	/* H_RPMJS_DEBUG */
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/js/rpmmi-js.c
  ============================================================================
  $ cvs diff -u -r1.6 -r1.7 rpmmi-js.c
  --- rpm/js/rpmmi-js.c	26 Apr 2009 03:56:35 -0000	1.6
  +++ rpm/js/rpmmi-js.c	26 Apr 2009 16:11:32 -0000	1.7
  @@ -7,6 +7,7 @@
   #include "rpmts-js.h"
   #include "rpmmi-js.h"
   #include "rpmhdr-js.h"
  +#include "rpmjs-debug.h"
   
   #include <rpmdb.h>
   #include <rpmts.h>
  @@ -14,11 +15,10 @@
   #include "debug.h"
   
   /*@unchecked@*/
  -extern int _rpmjs_debug;
  -
  -/*@unchecked@*/
   static int _debug = 1;
   
  +/* --- helpers */
  +
   /* --- Object methods */
   static JSBool
   rpmmi_next(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
  @@ -60,10 +60,7 @@
   rpmmi_addprop(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
   {
       void * ptr = JS_GetInstancePrivate(cx, obj, &rpmmiClass, NULL);
  -
  -if (_debug < 0)
  -fprintf(stderr, "==> %s(%p,%p,0x%lx[%u],%p) ptr %p %s = %s\n", __FUNCTION__, cx, \
obj, (unsigned long)id, (unsigned)JSVAL_TAG(id), vp, ptr, \
JS_GetStringBytes(JS_ValueToString(cx, id)), JS_GetStringBytes(JS_ValueToString(cx, \
                *vp)));
  -
  +_PROP_DEBUG_ENTRY(_debug < 0);
       return JS_TRUE;
   }
   
  @@ -71,10 +68,7 @@
   rpmmi_delprop(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
   {
       void * ptr = JS_GetInstancePrivate(cx, obj, &rpmmiClass, NULL);
  -
  -if (_debug < 0)
  -fprintf(stderr, "==> %s(%p,%p,0x%lx[%u],%p) ptr %p %s = %s\n", __FUNCTION__, cx, \
obj, (unsigned long)id, (unsigned)JSVAL_TAG(id), vp, ptr, \
JS_GetStringBytes(JS_ValueToString(cx, id)), JS_GetStringBytes(JS_ValueToString(cx, \
                *vp)));
  -
  +_PROP_DEBUG_ENTRY(_debug < 0);
       return JS_TRUE;
   }
   static JSBool
  @@ -95,10 +89,7 @@
       }
   
       if (!ok) {
  -if (_debug) {
  -fprintf(stderr, "==> %s(%p,%p,0x%lx[%u],%p) ptr %p %s = %s\n", __FUNCTION__, cx, \
obj, (unsigned long)id, (unsigned)JSVAL_TAG(id), vp, ptr, \
JS_GetStringBytes(JS_ValueToString(cx, id)), JS_GetStringBytes(JS_ValueToString(cx, \
                *vp)));
  -ok = JS_TRUE;		/* XXX return JS_TRUE iff ... ? */
  -}
  +_PROP_DEBUG_EXIT(_debug);
       }
       return ok;
   }
  @@ -121,23 +112,29 @@
       }
   
       if (!ok) {
  -if (_debug) {
  -fprintf(stderr, "==> %s(%p,%p,0x%lx[%u],%p) ptr %p %s = %s\n", __FUNCTION__, cx, \
obj, (unsigned long)id, (unsigned)JSVAL_TAG(id), vp, ptr, \
JS_GetStringBytes(JS_ValueToString(cx, id)), JS_GetStringBytes(JS_ValueToString(cx, \
                *vp)));
  -ok = JS_TRUE;		/* XXX return JS_TRUE iff ... ? */
  -}
  +_PROP_DEBUG_EXIT(_debug);
       }
       return ok;
   }
   
   static JSBool
  +rpmmi_resolve(JSContext *cx, JSObject *obj, jsval id, uintN flags,
  +	JSObject **objp)
  +{
  +    void * ptr = JS_GetInstancePrivate(cx, obj, &rpmmiClass, NULL);
  +_RESOLVE_DEBUG_ENTRY(_debug);
  +    return JS_TRUE;
  +}
  +
  +static JSBool
   rpmmi_enumerate(JSContext *cx, JSObject *obj, JSIterateOp op,
   		  jsval *statep, jsid *idp)
   {
  +    void * ptr = JS_GetInstancePrivate(cx, obj, &rpmmiClass, NULL);
       JSObject *iterator = NULL;
       JSBool ok = JS_FALSE;
   
  -if (_debug)
  -fprintf(stderr, "==> %s(%p,%p,%d,%p,%p)\n", __FUNCTION__, cx, obj, op, statep, \
idp);  +_ENUMERATE_DEBUG_ENTRY(_debug);
   
       switch (op) {
       case JSENUMERATE_INIT:
  @@ -168,25 +165,10 @@
   }
   
   static JSBool
  -rpmmi_resolve(JSContext *cx, JSObject *obj, jsval id, uintN flags,
  -	JSObject **objp)
  -{
  -if (_debug)
  -fprintf(stderr, "==> %s(%p,%p,0x%llx,0x%x,%p) property %s flags \
0x%x{%s,%s,%s,%s,%s}\n", __FUNCTION__, cx, obj, (unsigned long long)id, \
                (unsigned)flags, objp,
  -		JS_GetStringBytes(JS_ValueToString(cx, id)), flags,
  -		(flags & JSRESOLVE_QUALIFIED) ? "qualified" : "",
  -		(flags & JSRESOLVE_ASSIGNING) ? "assigning" : "",
  -		(flags & JSRESOLVE_DETECTING) ? "detecting" : "",
  -		(flags & JSRESOLVE_DECLARING) ? "declaring" : "",
  -		(flags & JSRESOLVE_CLASSNAME) ? "classname" : "");
  -    return JS_TRUE;
  -}
  -
  -static JSBool
   rpmmi_convert(JSContext *cx, JSObject *obj, JSType type, jsval *vp)
   {
  -if (_debug)
  -fprintf(stderr, "==> %s(%p,%p,%d,%p) convert to %s\n", __FUNCTION__, cx, obj, \
type, vp, JS_GetTypeName(cx, type));  +    void * ptr = JS_GetInstancePrivate(cx, \
obj, &rpmmiClass, NULL);  +_CONVERT_DEBUG_ENTRY(_debug);
       return JS_TRUE;
   }
   
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/js/rpmps-js.c
  ============================================================================
  $ cvs diff -u -r1.3 -r1.4 rpmps-js.c
  --- rpm/js/rpmps-js.c	25 Apr 2009 21:51:49 -0000	1.3
  +++ rpm/js/rpmps-js.c	26 Apr 2009 16:11:32 -0000	1.4
  @@ -5,6 +5,7 @@
   #include "system.h"
   
   #include "rpmps-js.h"
  +#include "rpmjs-debug.h"
   
   #define	_RPMPS_INTERNAL
   #include <rpmps.h>
  @@ -12,11 +13,10 @@
   #include "debug.h"
   
   /*@unchecked@*/
  -extern int _rpmjs_debug;
  -
  -/*@unchecked@*/
   static int _debug = 1;
   
  +/* --- helpers */
  +
   /* --- Object methods */
   
   static JSFunctionSpec rpmps_funcs[] = {
  @@ -37,10 +37,7 @@
   rpmps_addprop(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
   {
       void * ptr = JS_GetInstancePrivate(cx, obj, &rpmpsClass, NULL);
  -
  -if (_debug < 0)
  -fprintf(stderr, "==> %s(%p,%p,0x%lx[%u],%p) ptr %p %s = %s\n", __FUNCTION__, cx, \
obj, (unsigned long)id, (unsigned)JSVAL_TAG(id), vp, ptr, \
JS_GetStringBytes(JS_ValueToString(cx, id)), JS_GetStringBytes(JS_ValueToString(cx, \
                *vp)));
  -
  +_PROP_DEBUG_ENTRY(_debug < 0);
       return JS_TRUE;
   }
   
  @@ -48,10 +45,7 @@
   rpmps_delprop(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
   {
       void * ptr = JS_GetInstancePrivate(cx, obj, &rpmpsClass, NULL);
  -
  -if (_debug)
  -fprintf(stderr, "==> %s(%p,%p,0x%lx[%u],%p) ptr %p %s = %s\n", __FUNCTION__, cx, \
obj, (unsigned long)id, (unsigned)JSVAL_TAG(id), vp, ptr, \
JS_GetStringBytes(JS_ValueToString(cx, id)), JS_GetStringBytes(JS_ValueToString(cx, \
                *vp)));
  -
  +_PROP_DEBUG_ENTRY(_debug < 0);
       return JS_TRUE;
   }
   static JSBool
  @@ -73,10 +67,7 @@
       }
   
       if (!ok) {
  -if (_debug) {
  -fprintf(stderr, "==> %s(%p,%p,0x%lx[%u],%p) ptr %p %s = %s\n", __FUNCTION__, cx, \
obj, (unsigned long)id, (unsigned)JSVAL_TAG(id), vp, ptr, \
JS_GetStringBytes(JS_ValueToString(cx, id)), JS_GetStringBytes(JS_ValueToString(cx, \
                *vp)));
  -ok = JS_TRUE;		/* XXX return JS_TRUE iff ... ? */
  -}
  +_PROP_DEBUG_EXIT(_debug);
       }
       return ok;
   }
  @@ -101,10 +92,7 @@
       }
   
       if (!ok) {
  -if (_debug) {
  -fprintf(stderr, "==> %s(%p,%p,0x%lx[%u],%p) ptr %p %s = %s\n", __FUNCTION__, cx, \
obj, (unsigned long)id, (unsigned)JSVAL_TAG(id), vp, ptr, \
JS_GetStringBytes(JS_ValueToString(cx, id)), JS_GetStringBytes(JS_ValueToString(cx, \
                *vp)));
  -ok = JS_TRUE;		/* XXX return JS_TRUE iff ... ? */
  -}
  +_PROP_DEBUG_EXIT(_debug);
       }
       return ok;
   }
  @@ -121,14 +109,7 @@
       char value[5];
       JSBool ok = JS_FALSE;
   
  -if (_debug)
  -fprintf(stderr, "==> %s(%p,%p,0x%lx[%u],0x%x,%p) ptr %p property %s flags \
0x%x{%s,%s,%s,%s,%s}\n", __FUNCTION__, cx, obj, (unsigned long)id, \
                (unsigned)JSVAL_TAG(id), (unsigned)flags, objp, ptr,
  -		JS_GetStringBytes(JS_ValueToString(cx, id)), flags,
  -		(flags & JSRESOLVE_QUALIFIED) ? "qualified" : "",
  -		(flags & JSRESOLVE_ASSIGNING) ? "assigning" : "",
  -		(flags & JSRESOLVE_DETECTING) ? "detecting" : "",
  -		(flags & JSRESOLVE_DECLARING) ? "declaring" : "",
  -		(flags & JSRESOLVE_CLASSNAME) ? "classname" : "");
  +_RESOLVE_DEBUG_ENTRY(_debug);
   
       if (flags & JSRESOLVE_ASSIGNING) {
   	ok = JS_TRUE;
  @@ -162,8 +143,7 @@
       JSObject *iterator;
       JSBool ok = JS_FALSE;
   
  -if (_debug)
  -fprintf(stderr, "==> %s(%p,%p,%d,%p,%p)\n", __FUNCTION__, cx, obj, op, statep, \
idp);  +_ENUMERATE_DEBUG_ENTRY(_debug);
   
   #ifdef	DYING
       switch (op) {
  @@ -214,8 +194,7 @@
   rpmps_convert(JSContext *cx, JSObject *obj, JSType type, jsval *vp)
   {
       void * ptr = JS_GetInstancePrivate(cx, obj, &rpmpsClass, NULL);
  -if (_debug)
  -fprintf(stderr, "==> %s(%p,%p,%d,%p) ptr %p convert to %s\n", __FUNCTION__, cx, \
obj, type, vp, ptr, JS_GetTypeName(cx, type));  +_CONVERT_DEBUG_ENTRY(_debug);
       return JS_TRUE;
   }
   
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/js/rpmte-js.c
  ============================================================================
  $ cvs diff -u -r1.3 -r1.4 rpmte-js.c
  --- rpm/js/rpmte-js.c	25 Apr 2009 21:51:49 -0000	1.3
  +++ rpm/js/rpmte-js.c	26 Apr 2009 16:11:32 -0000	1.4
  @@ -7,6 +7,7 @@
   #include "rpmts-js.h"
   #include "rpmte-js.h"
   #include "rpmhdr-js.h"
  +#include "rpmjs-debug.h"
   
   #include <argv.h>
   #include <mire.h>
  @@ -21,11 +22,10 @@
   #include "debug.h"
   
   /*@unchecked@*/
  -extern int _rpmjs_debug;
  -
  -/*@unchecked@*/
   static int _debug = 1;
   
  +/* --- helpers */
  +
   /* --- Object methods */
   
   static JSFunctionSpec rpmte_funcs[] = {
  @@ -46,10 +46,7 @@
   rpmte_addprop(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
   {
       void * ptr = JS_GetInstancePrivate(cx, obj, &rpmteClass, NULL);
  -
  -if (_debug < 0)
  -fprintf(stderr, "==> %s(%p,%p,0x%lx[%u],%p) ptr %p %s = %s\n", __FUNCTION__, cx, \
obj, (unsigned long)id, (unsigned)JSVAL_TAG(id), vp, ptr, \
JS_GetStringBytes(JS_ValueToString(cx, id)), JS_GetStringBytes(JS_ValueToString(cx, \
                *vp)));
  -
  +_PROP_DEBUG_ENTRY(_debug < 0);
       return JS_TRUE;
   }
   
  @@ -57,10 +54,7 @@
   rpmte_delprop(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
   {
       void * ptr = JS_GetInstancePrivate(cx, obj, &rpmteClass, NULL);
  -
  -if (_debug)
  -fprintf(stderr, "==> %s(%p,%p,0x%lx[%u],%p) ptr %p %s = %s\n", __FUNCTION__, cx, \
obj, (unsigned long)id, (unsigned)JSVAL_TAG(id), vp, ptr, \
JS_GetStringBytes(JS_ValueToString(cx, id)), JS_GetStringBytes(JS_ValueToString(cx, \
                *vp)));
  -
  +_PROP_DEBUG_ENTRY(_debug < 0);
       return JS_TRUE;
   }
   static JSBool
  @@ -82,10 +76,7 @@
       }
   
       if (!ok) {
  -if (_debug) {
  -fprintf(stderr, "==> %s(%p,%p,0x%lx[%u],%p) ptr %p %s = %s\n", __FUNCTION__, cx, \
obj, (unsigned long)id, (unsigned)JSVAL_TAG(id), vp, ptr, \
JS_GetStringBytes(JS_ValueToString(cx, id)), JS_GetStringBytes(JS_ValueToString(cx, \
                *vp)));
  -ok = JS_TRUE;		/* XXX return JS_TRUE iff ... ? */
  -}
  +_PROP_DEBUG_EXIT(_debug);
       }
       return ok;
   }
  @@ -110,10 +101,7 @@
       }
   
       if (!ok) {
  -if (_debug) {
  -fprintf(stderr, "==> %s(%p,%p,0x%lx[%u],%p) ptr %p %s = %s\n", __FUNCTION__, cx, \
obj, (unsigned long)id, (unsigned)JSVAL_TAG(id), vp, ptr, \
JS_GetStringBytes(JS_ValueToString(cx, id)), JS_GetStringBytes(JS_ValueToString(cx, \
                *vp)));
  -ok = JS_TRUE;		/* XXX return JS_TRUE iff ... ? */
  -}
  +_PROP_DEBUG_EXIT(_debug);
       }
       return ok;
   }
  @@ -130,14 +118,7 @@
       char value[5];
       JSBool ok = JS_FALSE;
   
  -if (_debug)
  -fprintf(stderr, "==> %s(%p,%p,0x%lx[%u],0x%x,%p) ptr %p property %s flags \
0x%x{%s,%s,%s,%s,%s}\n", __FUNCTION__, cx, obj, (unsigned long)id, \
                (unsigned)JSVAL_TAG(id), (unsigned)flags, objp, ptr,
  -		JS_GetStringBytes(JS_ValueToString(cx, id)), flags,
  -		(flags & JSRESOLVE_QUALIFIED) ? "qualified" : "",
  -		(flags & JSRESOLVE_ASSIGNING) ? "assigning" : "",
  -		(flags & JSRESOLVE_DETECTING) ? "detecting" : "",
  -		(flags & JSRESOLVE_DECLARING) ? "declaring" : "",
  -		(flags & JSRESOLVE_CLASSNAME) ? "classname" : "");
  +_RESOLVE_DEBUG_ENTRY(_debug);
   
       if (flags & JSRESOLVE_ASSIGNING) {
   	ok = JS_TRUE;
  @@ -171,8 +152,7 @@
       JSObject *iterator;
       JSBool ok = JS_FALSE;
   
  -if (_debug)
  -fprintf(stderr, "==> %s(%p,%p,%d,%p,%p)\n", __FUNCTION__, cx, obj, op, statep, \
idp);  +_ENUMERATE_DEBUG_ENTRY(_debug);
   
   #ifdef	DYING
       switch (op) {
  @@ -223,8 +203,7 @@
   rpmte_convert(JSContext *cx, JSObject *obj, JSType type, jsval *vp)
   {
       void * ptr = JS_GetInstancePrivate(cx, obj, &rpmteClass, NULL);
  -if (_debug)
  -fprintf(stderr, "==> %s(%p,%p,%d,%p) ptr %p convert to %s\n", __FUNCTION__, cx, \
obj, type, vp, ptr, JS_GetTypeName(cx, type));  +_CONVERT_DEBUG_ENTRY(_debug);
       return JS_TRUE;
   }
   
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/js/rpmts-js.c
  ============================================================================
  $ cvs diff -u -r1.9 -r1.10 rpmts-js.c
  --- rpm/js/rpmts-js.c	25 Apr 2009 21:51:49 -0000	1.9
  +++ rpm/js/rpmts-js.c	26 Apr 2009 16:11:32 -0000	1.10
  @@ -5,6 +5,7 @@
   #include "system.h"
   
   #include "rpmts-js.h"
  +#include "rpmjs-debug.h"
   
   #include <argv.h>
   #include <mire.h>
  @@ -17,11 +18,10 @@
   #include "debug.h"
   
   /*@unchecked@*/
  -extern int _rpmjs_debug;
  -
  -/*@unchecked@*/
   static int _debug = 1;
   
  +/* --- helpers */
  +
   static JSObject *
   rpmtsLoadNVRA(JSContext *cx, JSObject *obj)
   {
  @@ -143,10 +143,7 @@
   rpmts_addprop(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
   {
       void * ptr = JS_GetInstancePrivate(cx, obj, &rpmtsClass, NULL);
  -
  -if (_debug < 0)
  -fprintf(stderr, "==> %s(%p,%p,0x%lx[%u],%p) ptr %p %s = %s\n", __FUNCTION__, cx, \
obj, (unsigned long)id, (unsigned)JSVAL_TAG(id), vp, ptr, \
JS_GetStringBytes(JS_ValueToString(cx, id)), JS_GetStringBytes(JS_ValueToString(cx, \
                *vp)));
  -
  +_PROP_DEBUG_ENTRY(_debug < 0);
       return JS_TRUE;
   }
   
  @@ -154,10 +151,7 @@
   rpmts_delprop(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
   {
       void * ptr = JS_GetInstancePrivate(cx, obj, &rpmtsClass, NULL);
  -
  -if (_debug)
  -fprintf(stderr, "==> %s(%p,%p,0x%lx[%u],%p) ptr %p %s = %s\n", __FUNCTION__, cx, \
obj, (unsigned long)id, (unsigned)JSVAL_TAG(id), vp, ptr, \
JS_GetStringBytes(JS_ValueToString(cx, id)), JS_GetStringBytes(JS_ValueToString(cx, \
                *vp)));
  -
  +_PROP_DEBUG_ENTRY(_debug < 0);
       return JS_TRUE;
   }
   static JSBool
  @@ -251,10 +245,7 @@
       }
   
       if (!ok) {
  -if (_debug) {
  -fprintf(stderr, "==> %s(%p,%p,0x%lx[%u],%p) ptr %p %s = %s\n", __FUNCTION__, cx, \
obj, (unsigned long)id, (unsigned)JSVAL_TAG(id), vp, ptr, \
JS_GetStringBytes(JS_ValueToString(cx, id)), JS_GetStringBytes(JS_ValueToString(cx, \
                *vp)));
  -ok = JS_TRUE;		/* XXX return JS_TRUE iff ... ? */
  -}
  +_PROP_DEBUG_EXIT(_debug);
       }
       return ok;
   }
  @@ -347,10 +338,7 @@
       }
   
       if (!ok) {
  -if (_debug) {
  -fprintf(stderr, "==> %s(%p,%p,0x%lx[%u],%p) ptr %p %s = %s\n", __FUNCTION__, cx, \
obj, (unsigned long)id, (unsigned)JSVAL_TAG(id), vp, ptr, \
JS_GetStringBytes(JS_ValueToString(cx, id)), JS_GetStringBytes(JS_ValueToString(cx, \
                *vp)));
  -ok = JS_TRUE;		/* XXX return JS_TRUE iff ... ? */
  -}
  +_PROP_DEBUG_EXIT(_debug);
       }
       return ok;
   }
  @@ -367,14 +355,7 @@
       char value[5];
       JSBool ok = JS_FALSE;
   
  -if (_debug)
  -fprintf(stderr, "==> %s(%p,%p,0x%lx[%u],0x%x,%p) ptr %p property %s flags \
0x%x{%s,%s,%s,%s,%s}\n", __FUNCTION__, cx, obj, (unsigned long)id, \
                (unsigned)JSVAL_TAG(id), (unsigned)flags, objp, ptr,
  -		JS_GetStringBytes(JS_ValueToString(cx, id)), flags,
  -		(flags & JSRESOLVE_QUALIFIED) ? "qualified" : "",
  -		(flags & JSRESOLVE_ASSIGNING) ? "assigning" : "",
  -		(flags & JSRESOLVE_DETECTING) ? "detecting" : "",
  -		(flags & JSRESOLVE_DECLARING) ? "declaring" : "",
  -		(flags & JSRESOLVE_CLASSNAME) ? "classname" : "");
  +_RESOLVE_DEBUG_ENTRY(_debug);
   
       if (flags & JSRESOLVE_ASSIGNING) {
   	ok = JS_TRUE;
  @@ -411,8 +392,7 @@
       JSObject *iterator;
       JSBool ok = JS_FALSE;
   
  -if (_debug)
  -fprintf(stderr, "==> %s(%p,%p,%d,%p,%p)\n", __FUNCTION__, cx, obj, op, statep, \
idp);  +_ENUMERATE_DEBUG_ENTRY(_debug);
   
   #ifdef	DYING
       switch (op) {
  @@ -463,8 +443,7 @@
   rpmts_convert(JSContext *cx, JSObject *obj, JSType type, jsval *vp)
   {
       void * ptr = JS_GetInstancePrivate(cx, obj, &rpmtsClass, NULL);
  -if (_debug)
  -fprintf(stderr, "==> %s(%p,%p,%d,%p) ptr %p convert to %s\n", __FUNCTION__, cx, \
obj, type, vp, ptr, JS_GetTypeName(cx, type));  +_CONVERT_DEBUG_ENTRY(_debug);
       return JS_TRUE;
   }
   
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/js/tjs.c
  ============================================================================
  $ cvs diff -u -r1.12 -r1.13 tjs.c
  --- rpm/js/tjs.c	25 Apr 2009 21:51:49 -0000	1.12
  +++ rpm/js/tjs.c	26 Apr 2009 16:11:32 -0000	1.13
  @@ -6,7 +6,6 @@
   #define	_RPMJS_INTERNAL
   #include <rpmjs.h>
   
  -
   #include "rpmds-js.h"
   #include "rpmfi-js.h"
   #include "rpmte-js.h"
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/js/uuid-js.c
  ============================================================================
  $ cvs diff -u -r1.5 -r1.6 uuid-js.c
  --- rpm/js/uuid-js.c	25 Apr 2009 21:51:49 -0000	1.5
  +++ rpm/js/uuid-js.c	26 Apr 2009 16:11:32 -0000	1.6
  @@ -4,6 +4,8 @@
   
   #include "system.h"
   
  +#include "rpmjs-debug.h"
  +
   #if defined(WITH_UUID)
   #include <uuid.h>
   #include "uuid-js.h"
  @@ -11,9 +13,6 @@
   #include "debug.h"
   
   /*@unchecked@*/
  -extern int _rpmjs_debug;
  -
  -/*@unchecked@*/
   static int _debug = 1;
   
   typedef struct uuid_s {
  @@ -144,10 +143,7 @@
   uuid_addprop(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
   {
       void * ptr = JS_GetInstancePrivate(cx, obj, &uuidClass, NULL);
  -
  -if (_debug)
  -fprintf(stderr, "==> %s(%p,%p,0x%lx[%u],%p) ptr %p %s = %s\n", __FUNCTION__, cx, \
obj, (unsigned long)id, (unsigned)JSVAL_TAG(id), vp, ptr, \
JS_GetStringBytes(JS_ValueToString(cx, id)), JS_GetStringBytes(JS_ValueToString(cx, \
                *vp)));
  -
  +_PROP_DEBUG_ENTRY(_debug < 0);
       return JS_TRUE;
   }
   
  @@ -155,10 +151,7 @@
   uuid_delprop(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
   {
       void * ptr = JS_GetInstancePrivate(cx, obj, &uuidClass, NULL);
  -
  -if (_debug)
  -fprintf(stderr, "==> %s(%p,%p,0x%lx[%u],%p) ptr %p %s = %s\n", __FUNCTION__, cx, \
obj, (unsigned long)id, (unsigned)JSVAL_TAG(id), vp, ptr, \
JS_GetStringBytes(JS_ValueToString(cx, id)), JS_GetStringBytes(JS_ValueToString(cx, \
                *vp)));
  -
  +_PROP_DEBUG_ENTRY(_debug < 0);
       return JS_TRUE;
   }
   
  @@ -192,10 +185,7 @@
       }
   exit:
       if (!ok) {
  -if (_debug) {
  -fprintf(stderr, "==> %s(%p,%p,0x%lx[%u],%p) ptr %p %s = %s\n", __FUNCTION__, cx, \
obj, (unsigned long)id, (unsigned)JSVAL_TAG(id), vp, ptr, \
JS_GetStringBytes(JS_ValueToString(cx, id)), JS_GetStringBytes(JS_ValueToString(cx, \
                *vp)));
  -ok = JS_TRUE;		/* XXX return JS_TRUE iff ... ? */
  -}
  +_PROP_DEBUG_EXIT(_debug);
       }
       return ok;
   }
  @@ -217,23 +207,29 @@
       }
   
       if (!ok) {
  -if (_debug) {
  -fprintf(stderr, "==> %s(%p,%p,0x%lx[%u],%p) ptr %p %s = %s\n", __FUNCTION__, cx, \
obj, (unsigned long)id, (unsigned)JSVAL_TAG(id), vp, ptr, \
JS_GetStringBytes(JS_ValueToString(cx, id)), JS_GetStringBytes(JS_ValueToString(cx, \
                *vp)));
  -ok = JS_TRUE;		/* XXX return JS_TRUE iff ... ? */
  -}
  +_PROP_DEBUG_EXIT(_debug);
       }
       return ok;
   }
   
   static JSBool
  +uuid_resolve(JSContext *cx, JSObject *obj, jsval id, uintN flags,
  +	JSObject **objp)
  +{
  +    void * ptr = JS_GetInstancePrivate(cx, obj, &uuidClass, NULL);
  +_RESOLVE_DEBUG_ENTRY(_debug);
  +    return JS_TRUE;
  +}
  +
  +static JSBool
   uuid_enumerate(JSContext *cx, JSObject *obj, JSIterateOp op,
   		  jsval *statep, jsid *idp)
   {
  +    void * ptr = JS_GetInstancePrivate(cx, obj, &uuidClass, NULL);
       JSObject *iterator;
       JSBool ok = JS_FALSE;
   
  -if (_debug)
  -fprintf(stderr, "==> %s(%p,%p,%d,%p,%p)\n", __FUNCTION__, cx, obj, op, statep, \
idp);  +_ENUMERATE_DEBUG_ENTRY(_debug);
   
       switch (op) {
       case JSENUMERATE_INIT:
  @@ -261,25 +257,10 @@
   }
   
   static JSBool
  -uuid_resolve(JSContext *cx, JSObject *obj, jsval id, uintN flags,
  -	JSObject **objp)
  -{
  -if (_debug)
  -fprintf(stderr, "==> %s(%p,%p,0x%lx[%u],0x%x,%p) property %s flags \
0x%x{%s,%s,%s,%s,%s}\n", __FUNCTION__, cx, obj, (unsigned long)id, \
                (unsigned)JSVAL_TAG(id), (unsigned)flags, objp,
  -		JS_GetStringBytes(JS_ValueToString(cx, id)), flags,
  -		(flags & JSRESOLVE_QUALIFIED) ? "qualified" : "",
  -		(flags & JSRESOLVE_ASSIGNING) ? "assigning" : "",
  -		(flags & JSRESOLVE_DETECTING) ? "detecting" : "",
  -		(flags & JSRESOLVE_DECLARING) ? "declaring" : "",
  -		(flags & JSRESOLVE_CLASSNAME) ? "classname" : "");
  -    return JS_TRUE;
  -}
  -
  -static JSBool
   uuid_convert(JSContext *cx, JSObject *obj, JSType type, jsval *vp)
   {
  -if (_debug)
  -fprintf(stderr, "==> %s(%p,%p,%d,%p) convert to %s\n", __FUNCTION__, cx, obj, \
type, vp, JS_GetTypeName(cx, type));  +    void * ptr = JS_GetInstancePrivate(cx, \
obj, &uuidClass, NULL);  +_CONVERT_DEBUG_ENTRY(_debug);
       return JS_TRUE;
   }
   
  @@ .
______________________________________________________________________
RPM Package Manager                                    http://rpm5.org
CVS Sources Repository                                rpm-cvs@rpm5.org


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic