array_lval and split can be const char*, so should be.  (file_buffer could too, but String2StringArray falsely claims it modifies its first parameter - I'll fix that.)