summaryrefslogtreecommitdiffabout
path: root/lib/util.cc
authorMichael Krelin <hacker@klever.net>2007-11-28 16:27:46 (UTC)
committer Michael Krelin <hacker@klever.net>2007-11-28 16:27:46 (UTC)
commit7ddb513bec854479fc9efb2a79044a978055d800 (patch) (side-by-side diff)
tree741c1810ac66e8b1b5ed879b39757d691c5988b4 /lib/util.cc
parentbce90cb3dc7f013ed25b5a4e4ba848815f497066 (diff)
downloadlibopkele-7ddb513bec854479fc9efb2a79044a978055d800.zip
libopkele-7ddb513bec854479fc9efb2a79044a978055d800.tar.gz
libopkele-7ddb513bec854479fc9efb2a79044a978055d800.tar.bz2
keep keeping compilers happy
Signed-off-by: Michael Krelin <hacker@klever.net>
Diffstat (limited to 'lib/util.cc') (more/less context) (show whitespace changes)
-rw-r--r--lib/util.cc2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/util.cc b/lib/util.cc
index eacf6d7..ac70938 100644
--- a/lib/util.cc
+++ b/lib/util.cc
@@ -191,49 +191,49 @@ namespace opkele {
if(ul <= (colon+3))
throw bad_input(OPKELE_CP_ "Unexpected end of URI being normalized encountered");
if(uri[colon+1]!='/' || uri[colon+2]!='/')
throw bad_input(OPKELE_CP_ "Unexpected input in URI being normalized after scheme component");
rv += "//";
string::size_type interesting = uri.find_first_of(":/#?",colon+3);
if(interesting==string::npos) {
transform(
uri.begin()+colon+3,uri.end(),
back_inserter(rv), ::tolower );
rv += '/'; return rv;
}
transform(
uri.begin()+colon+3,uri.begin()+interesting,
back_inserter(rv), ::tolower );
bool qf = false;
char ic = uri[interesting];
if(ic==':') {
string::size_type ni = uri.find_first_of("/#?%",interesting+1);
const char *nptr = uri.data()+interesting+1;
char *eptr = 0;
long port = strtol(nptr,&eptr,10);
if( (port>0) && (port<65535) && port!=(s?443:80) ) {
char tmp[6];
- snprintf(tmp,sizeof(tmp),"%d",port);
+ snprintf(tmp,sizeof(tmp),"%ld",port);
rv += ':'; rv += tmp;
}
if(ni==string::npos) {
rv += '/'; return rv;
}
interesting = ni;
}else if(ic!='/') {
rv += '/'; rv += ic;
qf = true;
++interesting;
}
string::size_type n = interesting;
char tmp[3] = { 0,0,0 };
stack<string::size_type> psegs; psegs.push(rv.length());
string pseg;
for(;n<ul;) {
string::size_type unsafe = uri.find_first_of(qf?"%":"%/?#",n);
if(unsafe==string::npos) {
pseg.append(uri,n,ul-n-1); n = ul-1;
}else{
pseg.append(uri,n,unsafe-n);
n = unsafe;
}
char c = uri[n++];