teste de publish
Dependencies: DS1820 HighSpeedAnalogIn devices mbed
Diff: diversos.cpp
- Revision:
- 25:a6da63ed025b
- Parent:
- 22:cb832a9bc704
- Child:
- 29:823a9da3696b
diff -r 302707175ef3 -r a6da63ed025b diversos.cpp --- a/diversos.cpp Wed Feb 07 23:05:36 2018 +0000 +++ b/diversos.cpp Mon Apr 16 12:30:29 2018 +0000 @@ -93,6 +93,43 @@ //-------------------- } +bool isxdigit(char c){ + if((c>47)&&(c<58)){return true;} + if((c>64)&&(c<71)){return true;} + if((c>96)&&(c<103)){return true;} + return false; +} + +void diversos::urldecode2(char *dst, const char *src){ + char a, b; + while (*src) { + if ((*src == '%') && + ((a = src[1]) && (b = src[2])) && + (isxdigit(a) && isxdigit(b))) { + if (a >= 'a') + a -= 'a'-'A'; + if (a >= 'A') + a -= ('A' - 10); + else + a -= '0'; + if (b >= 'a') + b -= 'a'-'A'; + if (b >= 'A') + b -= ('A' - 10); + else + b -= '0'; + *dst++ = 16*a+b; + src+=3; + } else if (*src == '+') { + *dst++ = ' '; + src++; + } else { + *dst++ = *src++; + } + } + *dst++ = '\0'; +} + void diversos::processaPulsosEDs(){ if(ED1){pulsosEDs[0]++;} if(ED2){pulsosEDs[1]++;}