-rw-r--r-- | lib/util.cc | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/lib/util.cc b/lib/util.cc index b702291..d979502 100644 --- a/lib/util.cc +++ b/lib/util.cc @@ -208,13 +208,13 @@ namespace opkele { tmp[0] = *(i++); if(i==ie) throw failed_conversion(OPKELE_CP_ "not enough hexadecimals after the percent sign in url-encoded string"); tmp[1] = *i; if(!(isxdigit(tmp[0]) && isxdigit(tmp[1]))) throw failed_conversion(OPKELE_CP_ "non-hex follows percent in url-encoded string"); - *(ii++) = strtol(tmp,0,16); + *(ii++) = (char)strtol(tmp,0,16); break; default: *(ii++) = *i; break; } } return rv; @@ -345,16 +345,16 @@ namespace opkele { tmp[0] = uri[n++]; tmp[1] = uri[n++]; if(!( isxdigit(tmp[0]) && isxdigit(tmp[1]) )) throw bad_input(OPKELE_CP_ "Invalid percent-encoded character in URI being normalized"); int cc = strtol(tmp,0,16); if( isalpha(cc) || isdigit(cc) || strchr("._~-",cc) ) - pseg += cc; + pseg += (char)cc; else{ pseg += '%'; - pseg += toupper(tmp[0]); pseg += toupper(tmp[1]); + pseg += (char)toupper(tmp[0]); pseg += (char)toupper(tmp[1]); } }else if(qf) { rv += pseg; rv += c; pseg.clear(); }else if(n>=ul || strchr("?/#",c)) { if(pseg.empty() || pseg==".") { |