#include "fmt.h" #include "textcode.h" #include "str.h" #include "haveinline.h" static inline int issafe(unsigned char c) { const char safe[] = "$/.=~"; return ((c>='A' && c<='Z') || (c>='a' && c<='z') || (c>='0' && c<='9') || safe[str_chr(safe,c)]); } unsigned long fmt_urlencoded(char* dest,const char* src,unsigned long len) { register const unsigned char* s=(const unsigned char*) src; unsigned long written=0,i; for (i=0; i>4); dest[written+2]=fmt_tohex(s[i]&15); } written+=3; } else { if (dest) dest[written]=s[i]; ++written; } } return written; }