summaryrefslogtreecommitdiffabout
authorMichael Krelin <hacker@klever.net>2007-12-04 16:01:50 (UTC)
committer Michael Krelin <hacker@klever.net>2007-12-04 16:03:37 (UTC)
commit206de587733c5dbde280fb6e9f1eab2f02de7f54 (patch) (side-by-side diff)
tree5f55659ba7152fdc6331393bf60233eb1a6c1747
parent7ddb513bec854479fc9efb2a79044a978055d800 (diff)
downloadlibopkele-206de587733c5dbde280fb6e9f1eab2f02de7f54.zip
libopkele-206de587733c5dbde280fb6e9f1eab2f02de7f54.tar.gz
libopkele-206de587733c5dbde280fb6e9f1eab2f02de7f54.tar.bz2
save a couple of ticks and make a bit more sense
Signed-off-by: Michael Krelin <hacker@klever.net>
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--lib/util.cc6
1 files changed, 3 insertions, 3 deletions
diff --git a/lib/util.cc b/lib/util.cc
index ac70938..416e2cc 100644
--- a/lib/util.cc
+++ b/lib/util.cc
@@ -198,35 +198,35 @@ namespace opkele {
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),"%ld",port);
- rv += ':'; rv += tmp;
+ char tmp[8];
+ snprintf(tmp,sizeof(tmp),":%ld",port);
+ 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);