Software / code / prosody
Comparison
util-src/encodings.c @ 10371:228338120009
util.encodings: Don't ignore non-strings passed to stringprep functions
If you manage to pass a table or something weird to these, you deserve
to know.
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Sat, 02 Nov 2019 13:09:54 +0100 |
| parent | 10359:4ef785f45aa2 |
| child | 10478:5e9a1a75f8a7 |
comparison
equal
deleted
inserted
replaced
| 10370:78bda7932f17 | 10371:228338120009 |
|---|---|
| 281 UChar unprepped[1024]; /* Temporary unicode buffer (1024 characters) */ | 281 UChar unprepped[1024]; /* Temporary unicode buffer (1024 characters) */ |
| 282 UChar prepped[1024]; | 282 UChar prepped[1024]; |
| 283 | 283 |
| 284 UErrorCode err = U_ZERO_ERROR; | 284 UErrorCode err = U_ZERO_ERROR; |
| 285 | 285 |
| 286 if(!lua_isstring(L, 1)) { | 286 input = luaL_checklstring(L, 1, &input_len); |
| 287 lua_pushnil(L); | |
| 288 return 1; | |
| 289 } | |
| 290 | |
| 291 input = lua_tolstring(L, 1, &input_len); | |
| 292 | 287 |
| 293 if(input_len >= 1024) { | 288 if(input_len >= 1024) { |
| 294 lua_pushnil(L); | 289 lua_pushnil(L); |
| 295 return 1; | 290 return 1; |
| 296 } | 291 } |
| 406 const char *s; | 401 const char *s; |
| 407 char string[1024]; | 402 char string[1024]; |
| 408 int ret; | 403 int ret; |
| 409 Stringprep_profile_flags flags = 0; | 404 Stringprep_profile_flags flags = 0; |
| 410 | 405 |
| 411 if(!lua_isstring(L, 1)) { | |
| 412 lua_pushnil(L); | |
| 413 return 1; | |
| 414 } | |
| 415 | |
| 416 s = check_utf8(L, 1, &len); | 406 s = check_utf8(L, 1, &len); |
| 417 | 407 |
| 418 /* strict */ | 408 /* strict */ |
| 419 if(!lua_isnoneornil(L, 2)) { | 409 if(!lua_isnoneornil(L, 2)) { |
| 420 luaL_checktype(L, 2, LUA_TBOOLEAN); | 410 luaL_checktype(L, 2, LUA_TBOOLEAN); |