From ab8e74788e8852aab33a383d2eb9bfbf1fc2a57d Mon Sep 17 00:00:00 2001
From: deuce <>
Date: Mon, 9 Jan 2006 21:28:38 +0000
Subject: [PATCH] Use XP_PRINTF_CONVERT to convert the passed value to the type
 which is actually used in the format string.

---
 src/sbbs3/js_global.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/src/sbbs3/js_global.c b/src/sbbs3/js_global.c
index 211cb245c6..5aa75c22cf 100644
--- a/src/sbbs3/js_global.c
+++ b/src/sbbs3/js_global.c
@@ -285,6 +285,7 @@ js_load(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
 }
 
 #ifdef USE_XP_PRINTF
+//#if 1
 
 static JSBool
 js_format(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
@@ -299,15 +300,15 @@ js_format(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
 	fmt=xp_asprintf_start(fmt);
     for(i=1; i<argc; i++) {
 		if(JSVAL_IS_DOUBLE(argv[i]))
-			fmt=xp_asprintf_next(fmt,XP_PRINTF_TYPE_DOUBLE,*JSVAL_TO_DOUBLE(argv[i]));
+			fmt=xp_asprintf_next(fmt,XP_PRINTF_CONVERT|XP_PRINTF_TYPE_DOUBLE,*JSVAL_TO_DOUBLE(argv[i]));
 		else if(JSVAL_IS_INT(argv[i]))
-			fmt=xp_asprintf_next(fmt,XP_PRINTF_TYPE_INT,JSVAL_TO_INT(argv[i]));
+			fmt=xp_asprintf_next(fmt,XP_PRINTF_CONVERT|XP_PRINTF_TYPE_INT,JSVAL_TO_INT(argv[i]));
 		else {
 			if((str=JS_ValueToString(cx, argv[i]))==NULL) {
 				JS_ReportError(cx,"JS_ValueToString failed");
 			    return(JS_FALSE);
 			}
-			fmt=xp_asprintf_next(fmt,XP_PRINTF_TYPE_CHARP,JS_GetStringBytes(str));
+			fmt=xp_asprintf_next(fmt,XP_PRINTF_CONVERT|XP_PRINTF_TYPE_CHARP,JS_GetStringBytes(str));
 		}
 	}
 
-- 
GitLab