Comparison

util/format.lua @ 11648:96d3cbeb9275

util.format: Escape ASCII control characters also in extra arguments
author Kim Alvefur <zash@zash.se>
date Sat, 03 Jul 2021 04:35:29 +0200
parent 11647:0fe6a9a3676f
child 12031:87bc26f23d9b
comparison
equal deleted inserted replaced
11647:0fe6a9a3676f 11648:96d3cbeb9275
77 i = i + 1; 77 i = i + 1;
78 local arg = args[i]; 78 local arg = args[i];
79 if arg == nil then 79 if arg == nil then
80 args[i] = "(nil)"; 80 args[i] = "(nil)";
81 else 81 else
82 args[i] = tostring(arg); 82 args[i] = tostring(arg):gsub("[%z\1-\8\11-\31\127]", control_symbols):gsub("\n\t?", "\n\t");
83 end 83 end
84 formatstring = formatstring .. " [%s]" 84 formatstring = formatstring .. " [%s]"
85 end 85 end
86 86
87 return formatstring:format(unpack(args)); 87 return formatstring:format(unpack(args));