#line 12 "escape.c-nw" #include #define hex(n) ((n) < 10 ? (n) + '0' : (n) + 'A' - 10) EXPORT int URL_strcpy_escaped(char *s1, const char *s2) { char *t = s1; for (; *s2; s2++) if (*s2 == '/' || *s2 == '+' || *s2 == '?' || *s2 == '#' || *s2 == '%' || *s2 <= ' ' || *s2 == '\177' || *s2 == ':' || *s2 == '@') { *t++ = '%'; *t++ = hex(*s2/16); *t++ = hex(*s2 % 16); } else *t++ = *s2; *t = '\0'; return t - s1; }