diff options
Diffstat (limited to 'src/Misc.cpp')
| -rw-r--r-- | src/Misc.cpp | 58 |
1 files changed, 29 insertions, 29 deletions
diff --git a/src/Misc.cpp b/src/Misc.cpp index 56e7370..c2963be 100644 --- a/src/Misc.cpp +++ b/src/Misc.cpp @@ -19,6 +19,35 @@ #include <ApplicationServices/ApplicationServices.h> #endif +std::string URLEscape(std::string source) +{ + char * src = (char *)source.c_str(); + char * dst = (char *)calloc((source.length()*3)+2, 1); + char *d; + unsigned char *s; + + for (d=dst; *d; d++) ; + + for (s=(unsigned char *)src; *s; s++) + { + if ((*s>='0' && *s<='9') || + (*s>='a' && *s<='z') || + (*s>='A' && *s<='Z')) + *(d++) = *s; + else + { + *(d++) = '%'; + *(d++) = hex[*s>>4]; + *(d++) = hex[*s&15]; + } + } + *d = 0; + + std::string finalString(dst); + free(dst); + return finalString; +} + #if defined(USE_SDL) && (defined(LIN32) || defined(LIN64)) && defined(SDL_VIDEO_DRIVER_X11) #include <SDL/SDL_syswm.h> SDL_SysWMinfo sdl_wminfo; @@ -212,35 +241,6 @@ void strcaturl(char *dst, char *src) *d = 0; } -std::string URLEscape(std::string source) -{ - char * src = (char *)source.c_str(); - char * dst = (char *)calloc((source.length()*3)+2, 1); - char *d; - unsigned char *s; - - for (d=dst; *d; d++) ; - - for (s=(unsigned char *)src; *s; s++) - { - if ((*s>='0' && *s<='9') || - (*s>='a' && *s<='z') || - (*s>='A' && *s<='Z')) - *(d++) = *s; - else - { - *(d++) = '%'; - *(d++) = hex[*s>>4]; - *(d++) = hex[*s&15]; - } - } - *d = 0; - - std::string finalString(dst); - free(dst); - return finalString; -} - void strappend(char *dst, char *src) { char *d; |
