util.encodings: Don't throw an error but return nil when passed nil or a non-string value
authorMatthew Wild <mwild1@gmail.com>
Tue, 29 Sep 2009 19:05:32 +0100
changeset 1844 a4a8fe2a560c
parent 1842 8337c0d4aee4
child 1845 e52dbae3c05d
child 1846 fdb43fc1bafc
util.encodings: Don't throw an error but return nil when passed nil or a non-string value
util-src/encodings.c
--- a/util-src/encodings.c	Tue Sep 29 14:22:02 2009 +0100
+++ b/util-src/encodings.c	Tue Sep 29 19:05:32 2009 +0100
@@ -124,8 +124,12 @@
 
 static int stringprep_prep(lua_State *L, const Stringprep_profile *profile)
 {
+	if(!lua_isstring(L, 1)) {
+		lua_pushnil(L);
+		return 1;
+	}
 	size_t len;
-	const char *s = luaL_checklstring(L, 1, &len);
+	const char *s = lua_tolstring(L, 1, &len);
 	char string[1024];
 	int ret;
 	if (len >= 1024) {