author | Michael Krelin <hacker@klever.net> | 2007-12-04 16:01:50 (UTC) |
---|---|---|
committer | Michael Krelin <hacker@klever.net> | 2007-12-04 16:03:37 (UTC) |
commit | 206de587733c5dbde280fb6e9f1eab2f02de7f54 (patch) (side-by-side diff) | |
tree | 5f55659ba7152fdc6331393bf60233eb1a6c1747 | |
parent | 7ddb513bec854479fc9efb2a79044a978055d800 (diff) | |
download | libopkele-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>
-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 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); |