🎨 improve rawstr() and builtin_getcwd(..), change format output in nasal_vm::valinfo()
This commit is contained in:
parent
23a5c1b1ad
commit
de262980cc
23
nasal.h
23
nasal.h
|
@ -130,16 +130,19 @@ std::string rawstr(const std::string& str)
|
|||
#endif
|
||||
switch(i)
|
||||
{
|
||||
case '\a': ret+="\\a";break;
|
||||
case '\b': ret+="\\b";break;
|
||||
case '\e': ret+="\\e";break;
|
||||
case '\f': ret+="\\f";break;
|
||||
case '\n': ret+="\\n";break;
|
||||
case '\r': ret+="\\r";break;
|
||||
case '\t': ret+="\\t";break;
|
||||
case '\v': ret+="\\v";break;
|
||||
case '\0': ret+="\\0";break;
|
||||
default: ret+=i; break;
|
||||
case '\0': ret+="\\0"; break;
|
||||
case '\a': ret+="\\a"; break;
|
||||
case '\b': ret+="\\b"; break;
|
||||
case '\e': ret+="\\e"; break;
|
||||
case '\t': ret+="\\t"; break;
|
||||
case '\n': ret+="\\n"; break;
|
||||
case '\v': ret+="\\v"; break;
|
||||
case '\f': ret+="\\f"; break;
|
||||
case '\r': ret+="\\r"; break;
|
||||
case '\\': ret+="\\\\";break;
|
||||
case '\'': ret+="\\\'";break;
|
||||
case '\"': ret+="\\\"";break;
|
||||
default: ret+=i; break;
|
||||
}
|
||||
}
|
||||
return ret;
|
||||
|
|
|
@ -1118,7 +1118,8 @@ nasal_ref builtin_environ(nasal_ref* local,nasal_gc& gc)
|
|||
nasal_ref builtin_getcwd(nasal_ref* local,nasal_gc& gc)
|
||||
{
|
||||
char buf[1024];
|
||||
getcwd(buf,sizeof(buf));
|
||||
if(!getcwd(buf,sizeof(buf)))
|
||||
return builtin_err("getcwd","failed to call getcwd");
|
||||
nasal_ref str=gc.alloc(vm_str);
|
||||
str.str()=buf;
|
||||
return str;
|
||||
|
|
|
@ -158,8 +158,8 @@ void nasal_vm::valinfo(nasal_ref& val)
|
|||
printf("| str | <0x%lx> %.16s%s\n",(uint64_t)p,tmp.c_str(),tmp.length()>16?"...":"");
|
||||
}break;
|
||||
case vm_func: printf("| func | <0x%lx> entry:0x%x\n",(uint64_t)p,val.func().entry);break;
|
||||
case vm_vec: printf("| vec | <0x%lx> [%lu val]\n",(uint64_t)p,val.vec().size());break;
|
||||
case vm_hash: printf("| hash | <0x%lx> {%lu val}\n",(uint64_t)p,val.hash().size());break;
|
||||
case vm_vec: printf("| vec | <0x%lx> [%zu val]\n",(uint64_t)p,val.vec().size());break;
|
||||
case vm_hash: printf("| hash | <0x%lx> {%zu val}\n",(uint64_t)p,val.hash().size());break;
|
||||
case vm_obj: printf("| obj | <0x%lx> obj:0x%lx\n",(uint64_t)p,(uint64_t)val.obj().ptr);break;
|
||||
default: printf("| err | <0x%lx> unknown object\n",(uint64_t)p);break;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue