Also, I just noticed this bit in the tutorial: "Strings in Lua are your standard null-terminated C strings." This might've been true at the time (actually, probably not) but, internally to Lua, strings are NOT null-terminated and can contain null characters that don't end the string (like in Blitz). It's confusing because there's a Lua API function that imports a Lua string *from* a given null-terminated C string, but there should also be one that can take a pointer and a "length" integer and can take any string at all.