[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gnash-commit] gnash libbase/URL.h libbase/URL.cpp ChangeLog
From: |
Rob Savoye |
Subject: |
[Gnash-commit] gnash libbase/URL.h libbase/URL.cpp ChangeLog |
Date: |
Sat, 14 Jun 2008 22:12:15 +0000 |
CVSROOT: /sources/gnash
Module name: gnash
Changes by: Rob Savoye <rsavoye> 08/06/14 22:12:15
Modified files:
libbase : URL.h URL.cpp
. : ChangeLog
Log message:
* libbase/URL.h: Add method to return the port number, and
another
one to fix the hostname if there is a port number attached.
* libbase/URL.cpp: Properly parse the optional port number
instead
of blindly adding it to the hostname.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/libbase/URL.h?cvsroot=gnash&r1=1.23&r2=1.24
http://cvs.savannah.gnu.org/viewcvs/gnash/libbase/URL.cpp?cvsroot=gnash&r1=1.44&r2=1.45
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.6931&r2=1.6932
Patches:
Index: libbase/URL.h
===================================================================
RCS file: /sources/gnash/gnash/libbase/URL.h,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -b -r1.23 -r1.24
--- libbase/URL.h 5 May 2008 06:28:00 -0000 1.23
+++ libbase/URL.h 14 Jun 2008 22:12:13 -0000 1.24
@@ -63,6 +63,13 @@
///
const std::string& hostname() const { return _host; }
+ /// Return the 'port' member of this URL, as a string
+ //
+ /// NOTE: return the empty string if the port isn't specified,
+ /// as this is an optional field.
+ ///
+ const std::string& port() const { return _port; }
+
/// Return the 'path' member of this URL, as a string
const std::string& path() const { return _path; }
@@ -156,6 +163,9 @@
/// Extract anchor from path
void split_anchor_from_path();
+ /// Extract tcp/ip port from path
+ void split_port_from_host();
+
/// Extract and parse query string from path
void split_querystring_from_path();
@@ -168,13 +178,10 @@
void normalize_path(std::string& path);
std::string _proto;
-
std::string _host;
-
+ std::string _port;
std::string _path;
-
std::string _anchor;
-
std::string _querystring;
};
Index: libbase/URL.cpp
===================================================================
RCS file: /sources/gnash/gnash/libbase/URL.cpp,v
retrieving revision 1.44
retrieving revision 1.45
diff -u -b -r1.44 -r1.45
--- libbase/URL.cpp 15 Feb 2008 21:07:20 -0000 1.44
+++ libbase/URL.cpp 14 Jun 2008 22:12:13 -0000 1.45
@@ -98,6 +98,9 @@
// Extract anchor from path, if any
split_anchor_from_path();
+ // Extract the port number from the hostname, if any
+ split_port_from_host();
+
split_querystring_from_path();
normalize_path(_path);
@@ -209,6 +212,7 @@
{
_proto = baseurl._proto;
_host = baseurl._host;
+ _port= baseurl._port;
_path = baseurl._path;
_anchor = relative_url.substr(1);
return;
@@ -300,6 +304,9 @@
split_anchor_from_path();
+ // Extract the port number from the hostname, if any
+ split_port_from_host();
+
split_querystring_from_path();
normalize_path(_path);
@@ -312,7 +319,13 @@
string
URL::str() const
{
- string ret = _proto + "://" + _host + _path;
+ string ret = _proto + "://" + _host;
+ if ( _port != "" )
+ {
+ ret += ":" + _port;
+ }
+
+ ret += _path;
if ( _querystring != "" )
{
ret += "?" + _querystring;
@@ -341,6 +354,21 @@
/*private*/
void
+URL::split_port_from_host()
+{
+ assert(_port == "");
+
+ // Extract anchor from path, if any
+ string::size_type hashpos = _host.find(':');
+ if ( hashpos != string::npos )
+ {
+ _port = _host.substr(hashpos+1);
+ _host.erase(hashpos);
+ }
+}
+
+/*private*/
+void
URL::split_querystring_from_path()
{
assert(_querystring == "");
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.6931
retrieving revision 1.6932
diff -u -b -r1.6931 -r1.6932
--- ChangeLog 14 Jun 2008 17:49:19 -0000 1.6931
+++ ChangeLog 14 Jun 2008 22:12:14 -0000 1.6932
@@ -1,3 +1,10 @@
+2008-06-14 Rob Savoye <address@hidden>
+
+ * libbase/URL.h: Add method to return the port number, and another
+ one to fix the hostname if there is a port number attached.
+ * libbase/URL.cpp: Properly parse the optional port number instead
+ of blindly adding it to the hostname.
+
2008-03-14 Markus Gothe <address@hidden>
* libnet/{handler, network, cque}.h: Added DSOEXPORT.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Gnash-commit] gnash libbase/URL.h libbase/URL.cpp ChangeLog,
Rob Savoye <=