]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/url.cpp
unicode compilation fix
[wxWidgets.git] / src / common / url.cpp
index b6c54cca4579c174cd71abb6b690051979826118..bccda3d90fa4113bbf487c5a019f36dac106aea2 100644 (file)
@@ -6,10 +6,10 @@
 // Created:     20/07/1997
 // RCS-ID:      $Id$
 // Copyright:   (c) 1997, 1998 Guilhem Lavaux
 // Created:     20/07/1997
 // RCS-ID:      $Id$
 // Copyright:   (c) 1997, 1998 Guilhem Lavaux
-// Licence:     wxWindows license
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 /////////////////////////////////////////////////////////////////////////////
 
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
 #pragma implementation "url.h"
 #endif
 
 #pragma implementation "url.h"
 #endif
 
@@ -20,8 +20,7 @@
 #pragma hdrstop
 #endif
 
 #pragma hdrstop
 #endif
 
-#include <string.h>
-#include <ctype.h>
+#if wxUSE_URL
 
 #include "wx/string.h"
 #include "wx/list.h"
 
 #include "wx/string.h"
 #include "wx/list.h"
 #include "wx/module.h"
 #include "wx/url.h"
 
 #include "wx/module.h"
 #include "wx/url.h"
 
+#include <string.h>
+#include <ctype.h>
+
 IMPLEMENT_CLASS(wxProtoInfo, wxObject)
 IMPLEMENT_CLASS(wxURL, wxObject)
 
 // Protocols list
 wxProtoInfo *wxURL::ms_protocols = NULL;
 
 IMPLEMENT_CLASS(wxProtoInfo, wxObject)
 IMPLEMENT_CLASS(wxURL, wxObject)
 
 // Protocols list
 wxProtoInfo *wxURL::ms_protocols = NULL;
 
+// Enforce linking of protocol classes:
+USE_PROTOCOL(wxFileProto)
+
 #if wxUSE_SOCKETS
 #if wxUSE_SOCKETS
+USE_PROTOCOL(wxHTTP)
+USE_PROTOCOL(wxFTP)
+
     wxHTTP *wxURL::ms_proxyDefault = NULL;
     bool wxURL::ms_useDefaultProxy = FALSE;
 #endif
     wxHTTP *wxURL::ms_proxyDefault = NULL;
     bool wxURL::ms_useDefaultProxy = FALSE;
 #endif
@@ -57,7 +65,7 @@ wxURL::wxURL(const wxString& url)
 #if wxUSE_SOCKETS
     if ( ms_useDefaultProxy && !ms_proxyDefault )
     {
 #if wxUSE_SOCKETS
     if ( ms_useDefaultProxy && !ms_proxyDefault )
     {
-        SetDefaultProxy(getenv("HTTP_PROXY"));
+        SetDefaultProxy( wxGetenv(wxT("HTTP_PROXY")) );
 
         if ( !ms_proxyDefault )
         {
 
         if ( !ms_proxyDefault )
         {
@@ -379,7 +387,7 @@ void wxURL::SetProxy(const wxString& url_proxy)
             return;
 
         hostname = tmp_str(0, pos);
             return;
 
         hostname = tmp_str(0, pos);
-        port = tmp_str(pos, tmp_str.Length()-pos);
+        port = tmp_str(pos+1, tmp_str.Length()-pos);
 
         addr.Hostname(hostname);
         addr.Service(port);
 
         addr.Hostname(hostname);
         addr.Service(port);
@@ -456,12 +464,16 @@ wxString wxURL::ConvertFromURI(const wxString& uri)
       i++;
       if (uri[i] >= wxT('A') && uri[i] <= wxT('F'))
         code = (uri[i] - wxT('A') + 10) * 16;
       i++;
       if (uri[i] >= wxT('A') && uri[i] <= wxT('F'))
         code = (uri[i] - wxT('A') + 10) * 16;
+      else if (uri[i] >= wxT('a') && uri[i] <= wxT('f'))
+        code = (uri[i] - wxT('a') + 10) * 16;
       else
         code = (uri[i] - wxT('0')) * 16;
 
       i++;
       if (uri[i] >= wxT('A') && uri[i] <= wxT('F'))
         code += (uri[i] - wxT('A')) + 10;
       else
         code = (uri[i] - wxT('0')) * 16;
 
       i++;
       if (uri[i] >= wxT('A') && uri[i] <= wxT('F'))
         code += (uri[i] - wxT('A')) + 10;
+      else if (uri[i] >= wxT('a') && uri[i] <= wxT('f'))
+        code += (uri[i] - wxT('a')) + 10;
       else
         code += (uri[i] - wxT('0'));
 
       else
         code += (uri[i] - wxT('0'));
 
@@ -515,3 +527,6 @@ void wxURLModule::OnExit()
 }
 
 #endif // wxUSE_SOCKETS
 }
 
 #endif // wxUSE_SOCKETS
+
+#endif // wxUSE_URL
+