From a05bd5e9d654b97e1a2128a5048b68b7efd9ccd7 Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Tue, 31 May 2005 04:12:55 +0000 Subject: r7135: make typeof() complient with ECMA 11.4.3 (This used to be commit 29ab4cc6cb244255ab75af7ae2076b51209f4f2d) --- source4/scripting/ejs/smbcalls.c | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) (limited to 'source4/scripting/ejs/smbcalls.c') diff --git a/source4/scripting/ejs/smbcalls.c b/source4/scripting/ejs/smbcalls.c index 02b40c46d8..fc2c16a456 100644 --- a/source4/scripting/ejs/smbcalls.c +++ b/source4/scripting/ejs/smbcalls.c @@ -35,20 +35,20 @@ static int ejs_typeof(MprVarHandle eid, int argc, struct MprVar **argv) MprType type; const char *name; } types[] = { - { MPR_TYPE_UNDEFINED, "undefined" }, - { MPR_TYPE_NULL, "null" }, - { MPR_TYPE_BOOL, "boolean" }, - { MPR_TYPE_CFUNCTION, "function" }, - { MPR_TYPE_FLOAT, "float" }, - { MPR_TYPE_INT, "int" }, - { MPR_TYPE_INT64, "int64" }, - { MPR_TYPE_OBJECT, "object" }, - { MPR_TYPE_FUNCTION, "function" }, - { MPR_TYPE_STRING, "string" }, + { MPR_TYPE_UNDEFINED, "undefined" }, + { MPR_TYPE_NULL, "object" }, + { MPR_TYPE_BOOL, "boolean" }, + { MPR_TYPE_CFUNCTION, "function" }, + { MPR_TYPE_FLOAT, "number" }, + { MPR_TYPE_INT, "number" }, + { MPR_TYPE_INT64, "number" }, + { MPR_TYPE_OBJECT, "object" }, + { MPR_TYPE_FUNCTION, "function" }, + { MPR_TYPE_STRING, "string" }, { MPR_TYPE_STRING_CFUNCTION, "function" } }; int i; - const char *type = "unknown"; + const char *type = NULL; if (argc != 1) return -1; @@ -58,6 +58,7 @@ static int ejs_typeof(MprVarHandle eid, int argc, struct MprVar **argv) break; } } + if (type == NULL) return -1; ejsSetReturnString(eid, type); return 0; -- cgit