Я привязываю сторонний C API, который часто использует статусы строк. Например. (псевдокод):
ffi.cdef [[
struct Reply { char * str; size_t len };
Reply * doSomething();
void freeReply(Reply * p);
]]
Чаще всего str
будет "OK"
строкой.
Как это быстрее всего проверить?
Я бы хотел избежать интернирования строк здесь:
local reply = ffi.gc(ffi.C.doSomething, ffi.C.freeReply)
assert(ffi.string(reply.str, reply.len) == "OK")