]> source.dussan.org Git - rspamd.git/commitdiff
[Minor] Set binary flag on binary texts
authorVsevolod Stakhov <vsevolod@rspamd.com>
Fri, 1 Jul 2022 20:14:21 +0000 (21:14 +0100)
committerVsevolod Stakhov <vsevolod@rspamd.com>
Fri, 1 Jul 2022 20:14:21 +0000 (21:14 +0100)
contrib/libucl/lua_ucl.c

index f2d4f24d659553580a02513d3c59ad1773e65d45..88cdf3664f4a6a0767a862c84c87ff56f286c8c2 100644 (file)
@@ -512,6 +512,11 @@ ucl_object_lua_fromelt (lua_State *L, int idx, ucl_string_flags_t flags)
 
                        if (t) {
                                obj = ucl_object_fromstring_common(t->start, t->len, 0);
+
+                               /* Binary text */
+                               if (t->flags & (1u << 5u)) {
+                                       obj->flags |= UCL_OBJECT_BINARY;
+                               }
                        }
                }
                break;
@@ -569,10 +574,10 @@ ucl_object_lua_import (lua_State *L, int idx)
        t = lua_type (L, idx);
        switch (t) {
        case LUA_TTABLE:
-               obj = ucl_object_lua_fromtable (L, idx, 0);
+               obj = ucl_object_lua_fromtable (L, idx, UCL_STRING_RAW);
                break;
        default:
-               obj = ucl_object_lua_fromelt (L, idx, 0);
+               obj = ucl_object_lua_fromelt (L, idx, UCL_STRING_RAW);
                break;
        }
 
@@ -597,10 +602,10 @@ ucl_object_lua_import_escape (lua_State *L, int idx)
        t = lua_type (L, idx);
        switch (t) {
        case LUA_TTABLE:
-               obj = ucl_object_lua_fromtable (L, idx, UCL_STRING_RAW);
+               obj = ucl_object_lua_fromtable (L, idx, UCL_STRING_ESCAPE);
                break;
        default:
-               obj = ucl_object_lua_fromelt (L, idx, UCL_STRING_RAW);
+               obj = ucl_object_lua_fromelt (L, idx, UCL_STRING_ESCAPE);
                break;
        }