Граф коммитов

896 Коммитов

Автор SHA1 Сообщение Дата
valeski%netscape.com 9c65a45442 added virtual destructor to elliminate linux warning 1999-08-26 14:28:17 +00:00
andreas.otte%primus-online.de 39ea8dda65 adding the test directory 1999-08-26 09:21:42 +00:00
andreas.otte%primus-online.de 27b7453455 adding netwerk/streamconv/test/Makefile 1999-08-26 09:19:21 +00:00
andreas.otte%primus-online.de 66c03570d3 first checked in 1999-08-26 09:18:33 +00:00
waterson%netscape.com 7ed5b97168 Fix compiler warning. 1999-08-26 04:28:14 +00:00
gagan%netscape.com 1feb14b092 Argh... missed a free. 1999-08-25 23:58:24 +00:00
gagan%netscape.com 5a94dcec3c Fix for #11204. 1999-08-25 23:27:58 +00:00
jdunn%netscape.com e5b4494333 HP requires a newline at the end 1999-08-25 21:21:22 +00:00
ramiro%netscape.com 8644dc2074 Cleanup linking of libimg. 1999-08-25 13:37:11 +00:00
dougt%netscape.com 902502f2fa fixing build bustage. 1999-08-25 00:19:00 +00:00
dougt%netscape.com 314d437715 Fix for bug 10435. Everything except CopyFrom() and MoveFrom() 1999-08-24 22:30:57 +00:00
waterson%netscape.com 59521018ac Okay, checking back in my fix for the filespec and iterator. 1999-08-24 22:08:55 +00:00
valeski%netscape.com 23db9c32a5 added stream converter test dir and accompanying files (win build only for now). fixed an out of order param in teh service implementation as well 1999-08-24 22:04:05 +00:00
valeski%netscape.com 79660f8daf Added start request event firing, and we now maintain the initial response code from a multi-line response 1999-08-24 21:53:27 +00:00
warren%netscape.com 38fada211e Added new nsIPipe/nsPipe2 stuff inside #ifdef NSPIPE2. 1999-08-24 21:47:23 +00:00
valeski%netscape.com ca12694a75 added pr logging to ftp 1999-08-24 21:46:09 +00:00
valeski%netscape.com 5ec14bc58d fixed mem leak 1999-08-24 21:45:20 +00:00
waterson%netscape.com eeed26a507 Backed out per don's request. 1999-08-24 20:07:12 +00:00
waterson%netscape.com db08885230 Can't keep a ref to iterator's filespec, and then advance the iterator; need to make a copy. 1999-08-24 19:58:07 +00:00
danm%netscape.com f22cbeda59 removing (faulty) GLOWCODE directives 1999-08-24 19:18:20 +00:00
hshaw%netscape.com 9435f9ba4b purging temporary NET_SOCKET_PROVIDER_BUILD ifdef, dougt checked in mac build support 1999-08-24 19:04:58 +00:00
warren%netscape.com 88129d044b Replaced nsPipe2.h with nsIPipe.idl 1999-08-24 08:46:32 +00:00
hshaw%netscape.com 1acee3356e NS_DECL_NSIFOO changes 1999-08-24 06:50:41 +00:00
waterson%netscape.com 90b34d7b17 Add some commentary. 1999-08-24 06:45:06 +00:00
waterson%netscape.com e7eee242a4 Oops. Left off the 'file-type' specifier in the '200' line. 1999-08-24 06:41:35 +00:00
hshaw%netscape.com 6b8159b2f7 now that we are sure the socket Makefile got regenerated on linux and solaris, we can reference the output 1999-08-24 04:54:03 +00:00
hshaw%netscape.com 921fc9774e let's make sure configure gets run 1999-08-24 04:26:51 +00:00
waterson%netscape.com ff69d2de0c Add nsDirectoryIndexStream to the build. 1999-08-24 04:24:35 +00:00
waterson%netscape.com 0686693dda Add nsDirectoryIndexStream.cpp to the build. 1999-08-24 04:23:55 +00:00
hshaw%netscape.com bfc6cf3097 remove temporary ifdef 1999-08-24 04:16:15 +00:00
dougt%netscape.com 3256cdc851 adding socket/base 1999-08-24 03:43:37 +00:00
dougt%netscape.com 1a8849efd2 First Checked In. 1999-08-24 03:42:59 +00:00
waterson%netscape.com ac8f702c93 Initial revision. Not yet in the build. 1999-08-24 01:32:19 +00:00
dougt%netscape.com 3da49a37cd Making nsNetModuleMgr use proxy.
Clean up nsNetModuleMgr API.
Change http to use new API.
1999-08-24 00:34:51 +00:00
mscott%netscape.com b4e122caf6 Add a do_QueryInterface to a call in AsyncRead. This fixes an assertion I keep getting whenever I bring up the browser. 1999-08-24 00:29:24 +00:00
hshaw%netscape.com 271268e255 backout reference to socket provider library until I can figure out why it isn't being built 1999-08-23 15:29:58 +00:00
hshaw%netscape.com 2ff728d600 initial checkin 1999-08-23 14:40:24 +00:00
hshaw%netscape.com 033289ff93 build with socket provider - thanks Andreas Otte 1999-08-23 14:38:31 +00:00
hshaw%netscape.com 78d4a55613 link with socket provider base library 1999-08-23 14:37:37 +00:00
hshaw%netscape.com cf48bf2254 list makefiles for socket provider 1999-08-23 14:35:44 +00:00
hshaw%netscape.com 655b48dc82 initial checkin - thanks Andreas Otte 1999-08-23 14:34:41 +00:00
hshaw%netscape.com 76ce4b4b9f conditionally build socket provider until Mac build works - thanks Andreas Otte 1999-08-23 14:20:23 +00:00
gagan%netscape.com 5b52250da7 We dont need this macro here now. Its available in nsCRT for all to use. 1999-08-23 08:30:55 +00:00
hshaw%netscape.com 0bcf491f93 fix depend file generation 1999-08-23 02:14:16 +00:00
mccabe%netscape.com 3d4917b628 Replace declarations of interface methods in implementation classes with xpidl-generated NS_DECL_NSIFOO.
Remainder of the netwerk portion of the NS_DECL_NSIFOO spam.
1999-08-22 23:52:07 +00:00
hshaw%netscape.com 7cec5bbc3a initial checkin 1999-08-22 20:22:43 +00:00
hshaw%netscape.com 6d1d1b2144 get macro definition from config.mak 1999-08-22 17:51:49 +00:00
hshaw%netscape.com c125258520 allow inheritance 1999-08-22 17:28:36 +00:00
hshaw%netscape.com b2f5f07784 allow selection of socket type using socket providers 1999-08-22 17:26:09 +00:00
hshaw%netscape.com d670e1b615 add socket provider support under NET_SOCKET_PROVIDER_BUILD ifdef (temporary until linux/mac build scripts checked in 1999-08-22 15:20:43 +00:00
hshaw%netscape.com f47337b3e1 compile socket subdir if NET_SOCKET_PROVIDER_BUILD set (will be removed when linux/mac build scripts checked in) 1999-08-22 14:42:05 +00:00
hshaw%netscape.com c5ea0e3f93 Initial checkin of socket provider 'base' files 1999-08-22 14:40:41 +00:00
mccabe%netscape.com 2290033202 NS_DECL_NSIFOO spam for nsIRequest, nsIChannel, nsIStreamListener, nsIStreamObserver, all from netwerk/
convert manual interface method declarations in implementation class to NS_DECL_NSIFOO macro.
1999-08-22 13:26:18 +00:00
mccabe%netscape.com b95a2bdd54 Replace manual method declarations in implementations of xpcom/ interfaces with NS_DECL_NSIFOO. 1999-08-22 11:25:50 +00:00
ramiro%netscape.com 16bbd09726 cleanup linking of libmozreg. 1999-08-21 15:41:53 +00:00
gagan%netscape.com 1bb2a5c082 Code style consistency cleanup. 1999-08-21 00:22:18 +00:00
cls%seawood.org 0991be09fa Removed all references to obsolete OBJDIR variable.
Removed various sections of config.mk & rules.mk that were only used by OBJDIR or by a non-autoconf build.
1999-08-20 06:52:59 +00:00
jdunn%netscape.com 3a6cd8fce9 Fix problem for HP Native compiler which does not allow 'deletes' on void *.
Judson ok'd the fix
1999-08-19 21:42:13 +00:00
sspitzer%netscape.com d8c53baaea fix warning 1999-08-19 06:27:24 +00:00
tbogard%aol.net c8c8eea4c0 XPCOM Cleanup: Fixed Aggregation macros in nsAgg.h to do aggregation correctly. Fixed usages and implementation of aggregation using these macros through out the tree. 1999-08-19 05:36:30 +00:00
leaf%mozilla.org a38e6bedf1 Finishing backout of dougt 1999-08-19 02:58:12 +00:00
leaf%mozilla.org 59839a7409 backing out dougt 1999-08-19 02:35:39 +00:00
dougt%netscape.com 540f6d37a8 Updating to use new NetMod Notification. 1999-08-18 09:33:27 +00:00
dougt%netscape.com f18b0e74f6 Adding thread proxy support to Net Module Notification.
General cleanup
1999-08-18 09:32:26 +00:00
ramiro%netscape.com 0149d76208 Link in secfree dynamically only where needed. 1999-08-17 15:46:57 +00:00
gordon%netscape.com abc1ed2795 This is just a NECKO test app. Updating to work on Mac. 1999-08-13 22:18:34 +00:00
gagan%netscape.com cb66e1d8ad backslashes in ..\.. cases fixed. Thanks bratell@lysator.liu.se 1999-08-13 05:20:45 +00:00
warren%netscape.com 8439e8f8ec Fix for bug 7682: StringBundle can't load URLs from imap thread. 1999-08-13 00:43:48 +00:00
gagan%netscape.com 67455042ca Fixed bunch of M9 bugs for Necko. 1999-08-12 09:59:24 +00:00
briano%netscape.com ee06fac901 Unix native compilers don't like it when files don't end with a newline. 1999-08-12 01:58:19 +00:00
valeski%netscape.com 05650f0971 added pipe2 stuff back in after patrick got the pipe2 stuff linking in w/ mac 1999-08-12 01:01:55 +00:00
valeski%netscape.com 3da7cb9512 removed nsPipe2 api usage 1999-08-11 23:58:35 +00:00
valeski%netscape.com 55b7938dd5 added files: mozilla/netwerk/protocol/ftp/public/nsIFTPContext.idl 1999-08-11 22:27:12 +00:00
valeski%netscape.com facd45d5f8 adding next rev of ftp protocol 1999-08-11 22:26:32 +00:00
rpotts%netscape.com 5adc1166f0 Bug #11410. Changed NS_ASSERTION to checkc the *correct* variable. Someday I'll grow a brain and become really dangerous... 1999-08-11 21:15:49 +00:00
warren%netscape.com 10d6f3a918 Fixed problem for large files (or small buffers). Added logging. 1999-08-11 08:17:35 +00:00
gagan%netscape.com e12e0b8f16 Temporarily fixing the assert which I think is ok, but would let rpotts confirm it. 1999-08-11 04:28:32 +00:00
valeski%netscape.com 7f056f0c0d added user agent language setter routine 1999-08-10 18:33:27 +00:00
mccabe%netscape.com d6e7410f31 Changes to the xpidl compiler -
Error if an interface is declared [scriptable], but contains methods that can't be scripted because they refer to native-declared types, unless the method is declared [noscript].

This change is intended to make it easier to determine when an interface is not scriptable, and to make it easier to see what changes need to be made to make it scriptable.

As many of the .idl files in the tree defined [scriptable] interfaces that contained non-scriptable methods, I've sprinkled [noscript] throughout.  As the interfaces weren't scriptable anyway, this shouldn't change their visibility to javascript.
1999-08-10 12:18:01 +00:00
rpotts%netscape.com 39966bfda8 Release the pointers that were passed into AsyncRead(...) when the operation is compelete. This breaks some circular references that prevented WebShells from being deleted... 1999-08-10 04:02:10 +00:00
rpotts%netscape.com 6c0f3a6058 Implement the nsIRequest interface for nsHTTPChannel. This allows channels that are cancelled from a LoadGroup to *actually* get removed... 1999-08-09 07:07:08 +00:00
rpotts%netscape.com c441f1624b Implement nsIRequest::Cancel() for the SocketTransport. 1999-08-09 07:05:15 +00:00
rpotts%netscape.com d181e6d970 bug #10790. The HTTPChannel is now given to the HTTPResponseListener during construction. Before, it was getting it via a dirty cast in the OnStartRequest notification. Unfortunately, OnStartRequest is only called if the connection is successful. This caused a crash in OnStopRequest if the HTTPChannel was not available :-( 1999-08-06 07:57:44 +00:00
morse%netscape.com 05534f19dd cleaned up dialogs 1999-08-06 00:29:10 +00:00
valeski%netscape.com d7b68f26ff fixing mac build bustage. brade verified the changes in her mac build. I switched from com ptrs to regular pointers as the com pointer abuse wasn't appreciated on the mac 1999-08-05 16:17:22 +00:00
rhp%netscape.com 9cb016d189 added files: mozilla/netwerk/protocol/http/src/nsHTTPHeaderArray.cpp, mozilla/netwerk/protocol/http/src/nsHTTPAtoms.cpp 1999-08-05 13:23:45 +00:00
rhp%netscape.com 0b6b03c19d added files: mozilla/netwerk/protocol/http/public/nsIHTTPHeader.idl 1999-08-05 13:16:39 +00:00
rpotts%netscape.com 95c48cd505 Fix for build bustage on Linux... 1999-08-05 09:07:29 +00:00
rpotts%netscape.com 73266ec8fb Added code to dump all headers in the OnHeadersAvailable() notification. 1999-08-05 08:29:36 +00:00
rpotts%netscape.com c99f3b9d7a bug #10739. Reworking header APIs... I've removed nsIHeader.h. 1999-08-05 08:28:49 +00:00
rpotts%netscape.com 29909c5e4f bug #10739. Reworking header APIs... I've added 2 new CPP files - nsHTTPAtoms.cpp and nsHTTPHeaderArray.cpp. 1999-08-05 08:27:49 +00:00
rpotts%netscape.com 13343ac97c bug #10739. Reworking header APIs... I've added a new IDL file - nsIHTTPHeader.idl and remove 3 obsolete header files... 1999-08-05 08:26:57 +00:00
mscott%netscape.com fc725eefbf bulletproof some NS_RELEASE's with NS_IF_RELEASE. 1999-08-04 21:23:26 +00:00
valeski%netscape.com 67e54f0298 nsNetModRegEntry.cpp - fixed mem leak. nsStdURL.cpp - fixed port parsing bug 1999-08-04 21:20:48 +00:00
gagan%netscape.com 918586775c Added a new MANIFEST file for nsHTTP stuff. 1999-08-04 16:12:30 +00:00
gagan%netscape.com 8d82379027 POSTing works now. 1999-08-04 15:07:26 +00:00
briano%netscape.com d2cc41f504 Added a newline at the EOF to fix the HP build (and others). 1999-08-04 02:11:03 +00:00
briano%netscape.com 578157544d Yet another case of a new file checked in missing the newline at EOF required by Unix native compilers. 1999-08-04 02:02:15 +00:00
valeski%netscape.com 314e58e690 win32 bustage. nspr wasn't being linked into the stream conv dll 1999-08-04 00:50:21 +00:00
valeski%netscape.com 6a7e60e2c8 memory deallocation macro problem 1999-08-03 23:44:16 +00:00
valeski%netscape.com e455d26778 added stream converter to the builds 1999-08-03 22:04:57 +00:00
warren%netscape.com e7a5fbbf4c Returned error when file not found for OpenInputStream. 1999-08-03 22:00:17 +00:00
briano%netscape.com f1ffca414c Cleaned it up and got rid of the redundant HP-specific SHARED_LIBRARY_LIBS stuff. 1999-08-03 21:40:56 +00:00
dougt%netscape.com 09729829be removing hard coded "http" string and using GetScheme() instead.
cleaning up a memory leak
1999-08-03 02:15:30 +00:00
warren%netscape.com 72c37924c2 Removed hack to export to netwerk/dist (used before landing necko). 1999-08-03 00:38:25 +00:00
valeski%netscape.com d2d7def6f8 pulled file extension search code and started using new mime mapping method which does it for us 1999-08-01 16:44:29 +00:00
valeski%netscape.com 47c693b1e3 factored repeated mime type retrieval implementations into mime mapping service methods 1999-08-01 16:42:25 +00:00
warren%netscape.com 7dadc19069 Took out more f*** nsCOMPtrs 1999-07-31 07:51:35 +00:00
warren%netscape.com aaa89f95e0 Removed nsCOMPtr breakage. 1999-07-31 07:30:49 +00:00
warren%netscape.com 10e252654f Added GetLoadGroup/SetLoadGroup to nsIChannel so that redirects can discover the group. 1999-07-31 06:53:12 +00:00
warren%netscape.com 417a407ee5 Lots of cool logging code. 1999-07-31 06:28:31 +00:00
warren%netscape.com d5370072c9 Added shtml 1999-07-31 06:27:03 +00:00
beard%netscape.com 06b83d45c9 removed special handling of /usr/local/bin/netscape in favor of better solution in resource: URL handler. 1999-07-31 01:04:23 +00:00
gagan%netscape.com c18005e5cd Fix MLK. Freeing up previous versions of mPath/mScheme 1999-07-31 00:15:49 +00:00
rpotts%netscape.com 97d3178840 bug #10424 URL redirects. If the server did *not* send an entity along with the 302, necko would not correctly follow the redirect. 1999-07-30 07:13:05 +00:00
rpotts%netscape.com ace86dbbb6 bug #10424 URL redirects. If the server did *not* send an entity along with the 302, necko would not correctly follow the redirect. 1999-07-30 06:39:24 +00:00
warren%netscape.com 027ffe305b Fixed to not put stuff in netwerk/dist anymore. 1999-07-30 06:10:53 +00:00
warren%netscape.com bba02d9418 Added NS_ERROR_UNKNOWN_PROTOCOL, and changed dns error to NS_ERROR_UNKNOWN_HOST. 1999-07-30 04:17:23 +00:00
valeski%netscape.com c97fba8802 crahser fix 10843 - bad host name was crashing the socket transport in error state 1999-07-30 02:36:52 +00:00
valeski%netscape.com d1c3201cd9 added dns failure check to output 1999-07-30 02:35:12 +00:00
gagan%netscape.com fa92cb338a Fixes the spaces problem also on the Mac! 1999-07-30 01:17:29 +00:00
gagan%netscape.com 80c4f6d45d Fixed the spaces problem. File path is now unescaped before being handed over to file spec. 1999-07-30 00:55:35 +00:00
sdagley%netscape.com c312d13d15 Temp hack for the Mac to address error opening files that aren't properly un-escaped (%20 still in the path instead of spaces for example). We still fail to open the file but now there's an error message to go along with the failure. Note that this will require Macsbug to be installed or a Mac hitting this error will crash. Since we were already telling people that they needed Macsbug installed to run the developmental builds I don't see a problem with this. 1999-07-30 00:37:58 +00:00
briano%netscape.com aad4cd7454 Fix for platforms whose ld's don't have a --whole-archive equivalent. 1999-07-29 22:47:42 +00:00
valeski%netscape.com a234e0853b not in default build - added stream conversion test app 1999-07-29 21:18:35 +00:00
valeski%netscape.com 6edcc3717e not in default builds. fixed mem leaks in stream service 1999-07-29 21:17:33 +00:00
valeski%netscape.com 0a56270c4a not in default builds - stream converter leak updates and we're now poping from the Q from the top (FIFO) 1999-07-29 07:09:46 +00:00
sspitzer%netscape.com f67cc36b49 ignore generated Makefile 1999-07-29 05:00:07 +00:00
bruce%cybersight.com 86093c8161 Build fix for aCC on HP-UX. Approved by leaf. 1999-07-29 04:21:42 +00:00
mscott%netscape.com 994f9f3f0d fix build breakage...include config.mak 1999-07-29 03:17:36 +00:00
mscott%netscape.com 00a5ff0a2c fix build by including config.mak 1999-07-29 03:10:23 +00:00
mscott%netscape.com b1d6ea24c9 fix build breakage...include config.mak 1999-07-29 02:49:02 +00:00
mscott%netscape.com a514d6dfd1 fix build breakage by including config.mak 1999-07-29 02:47:16 +00:00
mscott%netscape.com ef2578dab6 Fix build breakage...include config.mak 1999-07-29 02:35:45 +00:00
briano%netscape.com ea37bbc00a Trivial elimination of some pointless macros as discussed in bug 8568. Approved by leaf@mozilla.org. 1999-07-29 01:18:12 +00:00
rpotts%netscape.com 0749fbf78c Close the socket if an error occurred... 1999-07-28 11:08:18 +00:00
rpotts%netscape.com 3147e21651 Changed OnStopRequest(...) to always file - regardless of the mStatus. This insures that the consumer will *always* receive an OnStopRequest(...) notification. 1999-07-28 11:07:39 +00:00
rpotts%netscape.com 13918aac68 Set the max number of open transports to 8. 1999-07-28 09:26:55 +00:00
rpotts%netscape.com f1cee2dcd9 Obsolete file... 1999-07-28 09:25:51 +00:00
rpotts%netscape.com 042ea64894 Support for a Max number of open transports. 1999-07-28 09:25:31 +00:00
warren%netscape.com 5c61055a2b Fixed mismatched delete problem (purify). 1999-07-28 04:05:10 +00:00
warren%netscape.com e6ca89c1bb Fixed UMR / refcounting problem (purify). 1999-07-28 04:02:07 +00:00
gagan%netscape.com 089b1a8da9 More URL parsing updates for not so common cases. 1999-07-28 02:13:07 +00:00
valeski%netscape.com bab7f5de3b free memory mismatch fix 1999-07-27 23:35:01 +00:00
mcafee%netscape.com 115a63b0a0 Minor comment change. 1999-07-27 23:31:48 +00:00
briano%netscape.com d99daeea9b Cleaned it up and changed the name of libreg.{a,so} to libmozreg.{a,so} to fix the conflict reported in bug 8568. 1999-07-27 23:27:44 +00:00
ducarroz%netscape.com fabb1ab699 Fix shlb name conflict between netwerk:mime and mailnews:mime. Necko only. 1999-07-27 23:17:49 +00:00
gagan%netscape.com 8a17f9d60b Fixed the URL parsing for http://foo:80 1999-07-27 21:28:05 +00:00
valeski%netscape.com 3b47bd5edf fixing mem leak 1999-07-27 21:12:50 +00:00
mcafee%netscape.com 4160545646 Adding testserver/Makefile 1999-07-27 20:33:00 +00:00
mcafee%netscape.com 34582bf9e2 First checkin 1999-07-27 20:32:08 +00:00
valeski%netscape.com f36a7e5dbf memory leak fix on ns_makeabsoluteURI calls 1999-07-27 14:42:19 +00:00
rpotts%netscape.com 516aa68268 Added a temporary new define called USE_POLLABLE_EVENT which windows and unix both define... On the Mac, rather than using NSPR pollable events, a small timeout is set for PR_Poll(...) and new entry processing occurs after a timeout :-( 1999-07-27 09:21:07 +00:00
warren%netscape.com 55e97dfa69 Added assertion for bug I was hitting (spinning). 1999-07-27 08:47:43 +00:00
warren%netscape.com 8539331182 Added missing error check. 1999-07-27 08:47:13 +00:00
warren%netscape.com cf64533de5 Fixed tab-width 1999-07-27 08:46:27 +00:00
warren%netscape.com 5cdf76ac2e Added logging. 1999-07-27 08:45:35 +00:00
warren%netscape.com 27519b34c4 Fixed NewURI to not pass base URI when spec is absolute. 1999-07-27 08:45:20 +00:00
gagan%netscape.com 55879e3f5c -Fixed parsing to handle the mscott cases of-
mailbox://foo:25/user@netscape.com
	pop3://foo:110?check
-Fixed missing directory situations. (thanks Andreas)
-Removed the temporary hack for converting from ToNewCString to nsCRT::free'able
type. This removes the FMM errors on Bruce's log. No more mismatched freeing.


? diffs
Index: nsStdURL.cpp
===================================================================
RCS file: /cvsroot/mozilla/netwerk/base/src/nsStdURL.cpp,v
retrieving revision 1.5
diff -r1.5 nsStdURL.cpp
147,150c147
<     {
< 		//TODO
<         return NS_ERROR_FAILURE; // this should really be NS_ERROR_URL_PARSING
<     }
---
>         return NS_ERROR_MALFORMED_URI;
154c151
<     static const char delimiters[] = "/:@"; //this order is optimized.
---
>     static const char delimiters[] = "/:@?"; //this order is optimized.
157,493c154
<     if (brk)
<     {
<         switch (*brk)
<         {
<         case '/' :
<             // If the URL starts with a slash then everything is a path
<             if (brk == mSpec)
<             {
< 				ExtractString(mSpec, &mPath, 0, len);
<                 return NS_OK;
<             }
<             else // The first part is host, so its host/path
<             {
<                 ExtractString(mSpec, &mHost, 0, (brk - mSpec));
<                 ExtractString(mSpec, &mPath, (brk - mSpec), (len - (brk - mSpec)));
<                 return NS_OK;
<             }
<             break;
<         case ':' :
<             if (*(brk+1) == '/')
<             {
<                 ExtractString(mSpec, &mScheme, 0, (brk - mSpec));
<
<                 if (*(brk+2) == '/') // e.g. http://
<                 // If the first colon is followed by // then its definitely a spec
<                 {
<                     lastbrk = brk+3;
<                     brk = PL_strpbrk(lastbrk, delimiters);
<                     if (brk)
<                     {
<                         switch (*brk)
<                         {
<                             case '/' : // standard case- http://host/path
<                                 ExtractString(mSpec, &mHost,
< 								    (lastbrk - mSpec), (brk - lastbrk));
<                                 ExtractString(mSpec, &mPath,
< 								    (brk - mSpec), (len - (brk - mSpec)));
<                                 return NS_OK;
<                                 break;
<                             case ':' :
<                                 {
<                                     // It could be http://user:pass@host/path
< 								    // or http://host:port/path
<                                     // For the first case, there has to be an
< 								    // @ after this colon, so...
<                                     char* atSign = PL_strchr(brk, '@');
<                                     if (atSign)
<                                     {
<                                         ExtractString(mSpec, &mPreHost,
< 										    (lastbrk - mSpec), (atSign - lastbrk));
<                                         brk = PL_strpbrk(atSign+1, "/:");
<                                         if (brk) // http://user:pass@host:port/path or http://user:pass@host/path
<                                         {
<                                             ExtractString(mSpec, &mHost,
< 											    (atSign+1 - mSpec),
< 											    (brk - (atSign+1)));
<                                             if (*brk == '/')
<                                             {
<                                                 ExtractString(mSpec, &mPath,
< 												    (brk - mSpec),
< 												    len - (brk - mSpec));
<                                                 return NS_OK;
<                                             }
<                                             else // we have a port since (brk == ':')
<                                             {
<                                                 lastbrk = brk+1;
<                                                 brk = PL_strchr(lastbrk, '/');
<                                                 if (brk) // http://user:pass@host:port/path
<                                                 {
<                                                     mPort = ExtractPortFrom(mSpec, (lastbrk - mSpec), (brk-lastbrk));
<                                                     ExtractString(mSpec, &mPath, (brk-mSpec), len - (brk-mSpec));
<                                                     return NS_OK;
<                                                 }
<                                                 else // http://user:pass@host:port
<                                                 {
<                                                     mPort = ExtractPortFrom(mSpec, (lastbrk - mSpec), len - (lastbrk - mSpec));
<                                                     return NS_OK;
<                                                 }
<                                             }
<
<                                         }
<                                         else // its just http://user:pass@host
<                                         {
<                                             ExtractString(mSpec, &mHost,
< 											    (atSign+1 - mSpec),
< 											    len - (atSign+1 - mSpec));
<                                             return NS_OK;
<                                         }
<                                     }
<                                     else // definitely the port option, i.e. http://host:port/path
<                                     {
<                                         ExtractString(mSpec, &mHost,
< 										    (lastbrk-mSpec),
< 										    (brk-lastbrk));
<                                         lastbrk = brk+1;
<                                         brk = PL_strchr(lastbrk, '/');
<                                         if (brk)    // http://host:port/path
<                                         {
<                                             mPort = ExtractPortFrom(mSpec, (lastbrk-mSpec),(brk-lastbrk));
<                                             ExtractString(mSpec, &mPath,
< 											    (brk-mSpec),
< 											    len - (brk-mSpec));
<                                             return NS_OK;
<                                         }
<                                         else        // http://host:port
<                                         {
<                                             mPort = ExtractPortFrom(mSpec, (lastbrk-mSpec),len - (lastbrk-mSpec));
<                                             return NS_OK;
<                                         }
<                                     }
<                                 }
<                                 break;
<                             case '@' :
<                                 // http://user@host...
<                                 {
<                                     ExtractString(mSpec, &mPreHost,
< 									    (lastbrk-mSpec), (brk-lastbrk));
<                                     lastbrk = brk+1;
<                                     brk = PL_strpbrk(lastbrk, ":/");
<                                     if (brk)
<                                     {
<                                         ExtractString(mSpec, &mHost,
< 										    (lastbrk-mSpec), (brk - lastbrk));
<                                         if (*brk == ':') // http://user@host:port...
<                                         {
<                                             lastbrk = brk+1;
<                                             brk = PL_strchr(lastbrk, '/');
<                                             if (brk)    // http://user@host:port/path
<                                             {
<                                                 mPort = ExtractPortFrom(mSpec, (lastbrk-mSpec),(brk-lastbrk));
<                                                 ExtractString(mSpec, &mPath,
< 												    (brk-mSpec),
< 												    len - (brk-mSpec));
<                                                 return NS_OK;
<                                             }
<                                             else        // http://user@host:port
<                                             {
<                                                 mPort = ExtractPortFrom(mSpec, (lastbrk-mSpec),len - (lastbrk-mSpec));
<                                                 return NS_OK;
<                                             }
<
<                                         }
<                                         else // (*brk == '/') so no port just path i.e. http://user@host/path
<                                         {
<                                             ExtractString(mSpec, &mPath,
< 											    (brk - mSpec),
< 											    len - (brk - mSpec));
<                                             return NS_OK;
<                                         }
<                                     }
<                                     else // its just http://user@host
<                                     {
<                                         ExtractString(mSpec, &mHost,
< 										    (lastbrk+1 - mSpec), len - (lastbrk+1 - mSpec));
<                                         return NS_OK;
<                                     }
<
<                                 }
<                                 break;
<                             default: NS_POSTCONDITION(0, "This just can't be!");
<                                 break;
<                         }
<
<                     }
<                     else // everything else is a host, as in http://host
<                     {
<                         ExtractString(mSpec, &mHost,
< 						    (lastbrk - mSpec),
< 						    len - (lastbrk - mSpec));
<                         return NS_OK;
<                     }
<
<                 }
<                 else // This is a no // path alone case like file:/path, there is never a prehost/host in this case.
<                 {
<                     ExtractString(mSpec, &mPath, (brk-mSpec+1), len - (brk-mSpec+1));
<                     return NS_OK;
<                 }
<             }
<             else // scheme:host or host:port...
<             {
<                 lastbrk = brk+1;
<
<                 if ((*lastbrk >= '0') && (*lastbrk <= '9')) //host:port...
<                 {
<                     ExtractString(mSpec, &mHost, 0, (brk - mSpec));
<                     brk = PL_strpbrk(lastbrk, delimiters);
<                     if (brk)
<                     {
<                         switch (*brk)
<                         {
<                             case '/' : // The path, so its host:port/path
<                                 mPort = ExtractPortFrom(mSpec, lastbrk-mSpec, brk-lastbrk);
<                                 ExtractString(mSpec, &mPath, brk- mSpec, len - (brk-mSpec));
<                                 return NS_OK;
<                                 break;
<                             case ':' :
<                                 return NS_ERROR_FAILURE;//TODO NS_ERROR_URL_PARSING;
<                                 break;
<                             case '@' :
<                                 // This is a special case of user:pass@host... so
<                                 // Cleanout our earliar knowledge of host
<                                 ExtractString(mSpec, &mHost, -1, -1);
<
<                                 ExtractString(mSpec, &mPreHost, 0, (brk-mSpec));
<                                 lastbrk = brk+1;
<                                 brk = PL_strpbrk(lastbrk, ":/");
<                                 if (brk)
<                                 {
<                                     ExtractString(mSpec, &mHost,
< 									    (lastbrk-mSpec), (brk-lastbrk));
<                                     if (*brk == ':') // user:pass@host:port...
<                                     {
<                                         lastbrk = brk+1;
<                                         brk = PL_strchr(lastbrk, '/');
<                                         if (brk)    // user:pass@host:port/path
<                                         {
<                                             mPort = ExtractPortFrom(mSpec, (lastbrk-mSpec),(brk-lastbrk));
<                                             ExtractString(mSpec, &mPath,
< 											    (brk-mSpec), len - (brk-mSpec));
<                                             return NS_OK;
<                                         }
<                                         else        // user:pass@host:port
<                                         {
<                                             mPort = ExtractPortFrom(mSpec, (lastbrk-mSpec),len - (lastbrk-mSpec));
<                                             return NS_OK;
<                                         }
<                                     }
<                                     else // (*brk == '/') so user:pass@host/path
<                                     {
<                                         ExtractString(mSpec, &mPath, (brk - mSpec), len - (brk - mSpec));
<                                         return NS_OK;
<                                     }
<                                 }
<                                 else // its user:pass@host so everthing else is just the host
<                                 {
<                                     ExtractString(mSpec, &mHost,
< 									    (lastbrk-mSpec), len - (lastbrk-mSpec));
<                                     return NS_OK;
<                                 }
<
<                                 break;
<                             default: NS_POSTCONDITION(0, "This just can't be!");
<                                 break;
<                         }
<                     }
<                     else // Everything else is just the port
<                     {
<                         mPort = ExtractPortFrom(mSpec, lastbrk-mSpec, len - (lastbrk-mSpec));
<                         return NS_OK;
<                     }
<                 }
<                 else // scheme:host...
<                 {
<                     ExtractString(mSpec, &mScheme, 0, (brk - mSpec));
<                     brk = PL_strpbrk(lastbrk, delimiters);
<                     if (brk)
<                     {
<                         switch (*brk)
<                         {
<                             case '/' : // The path, so its scheme:host/path
<                                 ExtractString(mSpec, &mHost, (lastbrk-mSpec), (brk-lastbrk));
<                                 ExtractString(mSpec, &mPath, (brk - mSpec), len - (brk - mSpec));
<                                 return NS_OK;
<                                 break;
<                             case '@' : // scheme:user@host...
<                                 ExtractString(mSpec, &mPreHost, (lastbrk-mSpec), (brk-lastbrk));
<                                 // TODO more here...
<                                 break;
<                             case ':' : // scheme:user:pass@host... or scheme:host:port...
<                                 /* TODO
<                                 if you find @ in the remaining string then // scheme:user:pass@host...
<                                 {
<
<
<                                 }
<                                 else // scheme:host:port
<                                 {
<                                     ExtractString(mSpec, &mHost, (lastbrk-mSpec), (brk-lastbrk));
<
<                                 }
<                                 */
<                                 break;
<                             default: NS_POSTCONDITION(0, "This just can't be!");
<                                 break;
<                         }
<                     }
<                     else // its just scheme:host
<                     {
<                         ExtractString(mSpec, &mHost, (lastbrk-mSpec), len - (lastbrk-mSpec));
<                         return NS_OK;
<                     }
<                 }
<             }
<             break;
<         case '@' :
<             //Everything before the @ is the prehost stuff
<             ExtractString(mSpec, &mPreHost, 0, brk-mSpec);
<             lastbrk = brk+1;
<             brk = PL_strpbrk(lastbrk, ":/");
<             if (brk)
<             {
<                 ExtractString(mSpec, &mHost, (lastbrk-mSpec), (brk-lastbrk));
<                 if (*brk == ':') // user@host:port...
<                 {
<                     lastbrk = brk+1;
<                     brk = PL_strchr(lastbrk, '/');
<                     if (brk)    // user@host:port/path
<                     {
<                         mPort = ExtractPortFrom(mSpec, (lastbrk-mSpec),(brk-lastbrk));
<                         ExtractString(mSpec, &mPath, (brk-mSpec), len - (brk-mSpec));
<                         return NS_OK;
<                     }
<                     else        // user@host:port
<                     {
<                         mPort = ExtractPortFrom(mSpec, (lastbrk-mSpec),len - (lastbrk-mSpec));
<                         return NS_OK;
<                     }
<                 }
<                 else // (*brk == '/') so user@host/path
<                 {
<                     ExtractString(mSpec, &mPath, (brk - mSpec), len - (brk - mSpec));
<                     return NS_OK;
<                 }
<             }
<             else // its user@host so everything else is just the host
<             {
<                 ExtractString(mSpec, &mHost, (lastbrk-mSpec), (len - (lastbrk-mSpec)));
<                 return NS_OK;
<             }
<             break;
<         default:
<             NS_ASSERTION(0, "This just can't be!");
<             break;
<         }
<     }
<     else // everything is a host
---
>     if (!brk) // everything is a host
495a157
> 		return NS_OK;
496a159,501
> 	switch (*brk)
> 	{
> 	case '/' :
> 	case '?' :
> 		// If the URL starts with a slash then everything is a path
> 		if (brk == mSpec)
> 		{
> 			ExtractString(mSpec, &mPath, 0, len);
> 			return NS_OK;
> 		}
> 		else // The first part is host, so its host/path
> 		{
> 			ExtractString(mSpec, &mHost, 0, (brk - mSpec));
> 			ExtractString(mSpec, &mPath, (brk - mSpec), (len - (brk - mSpec)));
> 			return NS_OK;
> 		}
> 		break;
> 	case ':' :
> 		if (*(brk+1) == '/')
> 		{
> 			ExtractString(mSpec, &mScheme, 0, (brk - mSpec));
>
> 			if (*(brk+2) == '/') // e.g. http://
> 			// If the first colon is followed by // then its definitely a spec
> 			{
> 				lastbrk = brk+3;
> 				brk = PL_strpbrk(lastbrk, delimiters);
> 				if (!brk) // everything else is a host, as in http://host
> 				{
> 					ExtractString(mSpec, &mHost,
> 						(lastbrk - mSpec),
> 						len - (lastbrk - mSpec));
> 					return NS_OK;
> 				}
> 				switch (*brk)
> 				{
> 					case '/' : // standard case- http://host/path
> 					case '?' : // missing path cases
> 						ExtractString(mSpec, &mHost,
> 							(lastbrk - mSpec), (brk - lastbrk));
> 						ExtractString(mSpec, &mPath,
> 							(brk - mSpec), (len - (brk - mSpec)));
> 						return NS_OK;
> 						break;
> 					case ':' : // http://user:... or http://host:...
> 					{
> // It could be http://user:pass@host/path
> // or http://host:port/path we find that by checking further...
> char* nextbrk = PL_strpbrk(brk+1, delimiters);
> if (!nextbrk) // http://host:port
> {
> 	ExtractString(mSpec, &mHost,
> 		(lastbrk-mSpec), (brk-lastbrk));
> 	mPort = ExtractPortFrom(mSpec,
> 		(lastbrk-mSpec), len - (lastbrk-mSpec));
> 	return NS_OK;
> }
> switch (*nextbrk)
> {
> 	case '/': // http://host:port/path
> 	case '?': // http://host:port?path
> 		ExtractString(mSpec, &mHost,
> 			(lastbrk-mSpec), (brk-lastbrk));
> 		mPort = ExtractPortFrom(mSpec, (brk-mSpec+1),(nextbrk-brk-1));
> 		ExtractString(mSpec, &mPath,
> 				(nextbrk-mSpec), len - (nextbrk-mSpec));
> 		return NS_OK;
> 		break;
> 	case '@': // http://user:pass@host...
> 		ExtractString(mSpec, &mPreHost,
> 			(lastbrk - mSpec), (nextbrk - lastbrk));
> 		brk = PL_strpbrk(nextbrk+1, delimiters);
> 		if (!brk) // its just http://user:pass@host
> 		{
> 			ExtractString(mSpec, &mHost,
> 				(nextbrk+1 - mSpec),
> 				len - (nextbrk+1 - mSpec));
> 			return NS_OK;
> 		}
>
> 		ExtractString(mSpec, &mHost,
> 			(nextbrk+1 - mSpec), brk - (nextbrk+1));
>
> 		switch (*brk)
> 		{
> 		case '/': // http://user:pass@host/path
> 		case '?':
> 			ExtractString(mSpec, &mPath,
> 				(nextbrk+1 - mSpec),
> 				len - (nextbrk+1 - mSpec));
> 			return NS_OK;
> 			break;
> 		case ':': // http://user:pass@host:port...
> 			lastbrk = brk;
> 			brk = PL_strpbrk(lastbrk+1, "/?");
> 			if (brk)    // http://user:pass@host:port/path
> 			{
> 				mPort = ExtractPortFrom(mSpec, (lastbrk-mSpec),(brk-lastbrk));
> 				ExtractString(mSpec, &mPath, (brk-mSpec), len - (brk-mSpec));
> 				return NS_OK;
> 			}
> 			else        // http://user:pass@host:port
> 			{
> 				mPort = ExtractPortFrom(mSpec, (lastbrk-mSpec),
> 					len - (lastbrk-mSpec));
> 				return NS_OK;
> 			}
> 			break;
> 		default: NS_POSTCONDITION(0, "This just can't be!");
> 			break;
> 		}
> 		break;
> 	case ':': // three colons!
> 		return NS_ERROR_MALFORMED_URI;
> 		break;
> 	default: NS_POSTCONDITION(0, "This just can't be!");
> 		break;
> }
> 						}
> 						break;
> 					case '@' : // http://user@host...
> 						{
> 							ExtractString(mSpec, &mPreHost,
> 								(lastbrk-mSpec), (brk-lastbrk));
> 							lastbrk = brk+1;
> 							brk = PL_strpbrk(lastbrk, delimiters);
> 							if (!brk) // its just http://user@host
> 							{
> 								ExtractString(mSpec, &mHost,
> 									(lastbrk+1 - mSpec),
> 									len - (lastbrk+1 - mSpec));
> 								return NS_OK;
> 							}
> 							ExtractString(mSpec, &mHost,
> 								(lastbrk-mSpec), (brk - lastbrk));
> 							switch (*brk)
> 							{
> 								case ':' : // http://user@host:port...
> 									lastbrk = brk+1;
> 									brk = PL_strpbrk(lastbrk, "/?");
> 									if (brk)    // http://user@host:port/path
> 									{
> 										mPort = ExtractPortFrom(mSpec,
> 											(lastbrk-mSpec),(brk-lastbrk));
> 										ExtractString(mSpec, &mPath,
> 											(brk-mSpec),
> 											len - (brk-mSpec));
> 										return NS_OK;
> 									}
> 									else        // http://user@host:port
> 									{
> 										mPort = ExtractPortFrom(mSpec,
> 											(lastbrk-mSpec),
> 											len - (lastbrk-mSpec));
> 										return NS_OK;
> 									}
> 									break;
> 								case '/' : // http://user@host/path
> 								case '?' : // http://user@host?path
> 									ExtractString(mSpec, &mPath,
> 										(brk - mSpec),
> 										len - (brk - mSpec));
> 									return NS_OK;
> 									break;
> 								case '@' :
> 									return NS_ERROR_MALFORMED_URI;
> 								default : NS_POSTCONDITION(0,
> 									"This just can't be!");
> 									break;
> 							}
> 						}
> 						break;
> 					default: NS_POSTCONDITION(0, "This just can't be!");
> 						break;
> 				}
> 			}
> 			else // This is a no // path alone case like file:/path,
> 				// there is never a prehost/host in this case.
> 			{
> 				ExtractString(mSpec, &mPath, (brk-mSpec+1),
> 					len - (brk-mSpec+1));
> 				return NS_OK;
> 			}
> 		}
> 		else // scheme:host or host:port...
> 		{
> 			lastbrk = brk+1;
>
> 			if ((*lastbrk >= '0') && (*lastbrk <= '9')) //host:port...
> 			{
> 				ExtractString(mSpec, &mHost, 0, (brk - mSpec));
> 				brk = PL_strpbrk(lastbrk, delimiters);
> 				if (!brk) // Everything else is just the port
> 				{
> 					mPort = ExtractPortFrom(mSpec, lastbrk-mSpec,
> 						len - (lastbrk-mSpec));
> 					return NS_OK;
> 				}
> 				switch (*brk)
> 				{
> 					case '/' : // The path, so its host:port/path
> 					case '?' : // The path, so its host:port?path
> 						mPort = ExtractPortFrom(mSpec, lastbrk-mSpec,
> 							brk-lastbrk);
> 						ExtractString(mSpec, &mPath, brk- mSpec,
> 							len - (brk-mSpec));
> 						return NS_OK;
> 						break;
> 					case ':' :
> 						return NS_ERROR_MALFORMED_URI;
> 						break;
> 					case '@' :
> 						// This is a special case of user:pass@host... so
> 						// Cleanout our earliar knowledge of host
> 						ExtractString(mSpec, &mHost, -1, -1);
>
> 						ExtractString(mSpec, &mPreHost, 0, (brk-mSpec));
> 						lastbrk = brk+1;
> 						brk = PL_strpbrk(lastbrk, ":/");
> 					// its user:pass@host so everthing else is just the host
> 						if (!brk)
> 						{
> 							ExtractString(mSpec, &mHost,
> 								(lastbrk-mSpec), len - (lastbrk-mSpec));
> 							return NS_OK;
> 						}
> 						ExtractString(mSpec, &mHost,
> 							(lastbrk-mSpec), (brk-lastbrk));
> 						if (*brk == ':') // user:pass@host:port...
> 						{
> 							lastbrk = brk+1;
> 							brk = PL_strpbrk(lastbrk, "/?");
> 							if (brk)    // user:pass@host:port/path
> 							{
> 								mPort = ExtractPortFrom(mSpec,
> 									(lastbrk-mSpec),(brk-lastbrk));
> 								ExtractString(mSpec, &mPath,
> 									(brk-mSpec), len - (brk-mSpec));
> 								return NS_OK;
> 							}
> 							else        // user:pass@host:port
> 							{
> 								mPort = ExtractPortFrom(mSpec,
> 									(lastbrk-mSpec),len - (lastbrk-mSpec));
> 								return NS_OK;
> 							}
> 						}
> 						else // (*brk == '/') so user:pass@host/path
> 						{
> 							ExtractString(mSpec, &mPath, (brk - mSpec),
> 								len - (brk - mSpec));
> 							return NS_OK;
> 						}
> 						break;
> 					default: NS_POSTCONDITION(0, "This just can't be!");
> 						break;
> 				}
> 			}
> 			else // scheme:host...
> 			{
> 				ExtractString(mSpec, &mScheme, 0, (brk - mSpec));
> 				brk = PL_strpbrk(lastbrk, delimiters);
> 				if (!brk) // its just scheme:host
> 				{
> 					ExtractString(mSpec, &mHost, (lastbrk-mSpec),
> 						len - (lastbrk-mSpec));
> 					return NS_OK;
> 				}
> 				switch (*brk)
> 				{
> 					case '/' : // The path, so its scheme:host/path
> 					case '?' : // The path, so its scheme:host?path
> 						ExtractString(mSpec, &mHost, (lastbrk-mSpec),
> 							(brk-lastbrk));
> 						ExtractString(mSpec, &mPath, (brk - mSpec),
> 							len - (brk - mSpec));
> 						return NS_OK;
> 						break;
> 					case '@' : // scheme:user@host...
> 						ExtractString(mSpec, &mPreHost, (lastbrk-mSpec),
> 							(brk-lastbrk));
> 						// TODO more here...
> 						break;
> 					case ':' : // scheme:user:pass@host...or scheme:host:port...
> 						/* TODO
> 						if you find @ in the remaining string
> 						then // scheme:user:pass@host...
> 						{
>
>
> 						}
> 						else // scheme:host:port
> 						{
> 							ExtractString(mSpec, &mHost, (lastbrk-mSpec),
> 								(brk-lastbrk));
> 						}
> 						*/
> 						break;
> 					default: NS_POSTCONDITION(0, "This just can't be!");
> 						break;
> 				}
> 			}
> 		}
> 		break;
> 	case '@' :
> 		//Everything before the @ is the prehost stuff
> 		ExtractString(mSpec, &mPreHost, 0, brk-mSpec);
> 		lastbrk = brk+1;
> 		brk = PL_strpbrk(lastbrk, ":/");
> 		if (!brk) // its user@host so everything else is just the host
> 		{
> 			ExtractString(mSpec, &mHost, (lastbrk-mSpec),
> 				(len - (lastbrk-mSpec)));
> 			return NS_OK;
> 		}
> 		ExtractString(mSpec, &mHost, (lastbrk-mSpec), (brk-lastbrk));
> 		if (*brk == ':') // user@host:port...
> 		{
> 			lastbrk = brk+1;
> 			brk = PL_strpbrk(lastbrk, "/?");
> 			if (brk)    // user@host:port/path
> 			{
> 				mPort = ExtractPortFrom(mSpec, (lastbrk-mSpec),(brk-lastbrk));
> 				ExtractString(mSpec, &mPath, (brk-mSpec), len - (brk-mSpec));
> 				return NS_OK;
> 			}
> 			else        // user@host:port
> 			{
> 				mPort = ExtractPortFrom(mSpec, (lastbrk-mSpec),
> 					len - (lastbrk-mSpec));
> 				return NS_OK;
> 			}
> 		}
> 		else // (*brk == '/') so user@host/path
> 		{
> 			ExtractString(mSpec, &mPath, (brk - mSpec), len - (brk - mSpec));
> 			return NS_OK;
> 		}
> 		break;
> 	default:
> 		NS_ASSERTION(0, "This just can't be!");
> 		break;
> 	}
578,580c583
<     {
<         return NS_ERROR_OUT_OF_MEMORY;
<     }
---
>         return returnValue; // ERROR!
620,626c623
< 	// TODO- Fix this. Hack to create tmp only becuz nsString can't
< 	// give us a PR_Malloc (nsCRT/nsAllocator) string
< 	char* tmp = dir.ToNewCString();
< 	if (!tmp)
< 		return NS_ERROR_OUT_OF_MEMORY;
<     mDirectory = nsCRT::strdup(tmp);
< 	delete[] tmp;
---
>     mDirectory = dir.ToNewCString();
677d673
<     nsresult status = NS_ERROR_FAILURE;
782,783c778,782
<     NS_ASSERTION(file, "This can't be! ParsePath called without a /Path");
<     if (!file) return NS_OK;
---
>     if (!file)
> 	{
> 		// Treat the whole mPath as file -- this could still have ?, # etc.
> 		file = mPath;
> 	}
788a788,790
> 	else
> 		DupString(&mDirectory, "/");
>
795,819c797
<     if (brk)
<     {
<         ExtractString(file, &mFileName, 1 /* skip the leading / */, (brk-file-1));
<         //Keep pulling out other pieces...
<         while (brk)
<         {
<             char* lastbrk = brk;
<             brk = PL_strpbrk(lastbrk+1, delimiters);
<             switch (*lastbrk)
<             {
<                 case ';' : /*
<                            ExtractString(lastbrk, &mParam, 1, (brk ? (brk-lastbrk-1) : (len - (lastbrk-file) -1)));
<                            */
<                     break;
<                 case '?' : ExtractString(lastbrk, &mQuery, 1, (brk ? (brk-lastbrk-1) : (len - (lastbrk-file) -1)));
<                     break;
<                 case '#' : ExtractString(lastbrk, &mRef, 1, (brk ? (brk-lastbrk-1) : (len - (lastbrk-file) -1)));
<                     break;
<                 default:
<                     NS_ASSERTION(0, "This just can't be!");
<                     break;
<             }
<         }
<     }
<     else // Everything in the file is just the filename
---
>     if (!brk) // Everything in the file is just the filename
822a801,821
> 	ExtractString(file, &mFileName, 1 /* skip the leading / */, (brk-file-1));
> 	//Keep pulling out other pieces...
> 	while (brk)
> 	{
> 		char* lastbrk = brk;
> 		brk = PL_strpbrk(lastbrk+1, delimiters);
> 		switch (*lastbrk)
> 		{
> 			case ';' : /*
> 					   ExtractString(lastbrk, &mParam, 1, (brk ? (brk-lastbrk-1) : (len - (lastbrk-file) -1)));
> 					   */
> 				break;
> 			case '?' : ExtractString(lastbrk, &mQuery, 1, (brk ? (brk-lastbrk-1) : (len - (lastbrk-file) -1)));
> 				break;
> 			case '#' : ExtractString(lastbrk, &mRef, 1, (brk ? (brk-lastbrk-1) : (len - (lastbrk-file) -1)));
> 				break;
> 			default:
> 				NS_ASSERTION(0, "This just can't be!");
> 				break;
> 		}
> 	}
912,915c911
< 	// TODO fix when nsString changes
< 	char* tempDirFile = temp.ToNewCString();
< 	*o_DirFile = nsCRT::strdup(tempDirFile);
< 	delete[] tempDirFile;
---
> 	*o_DirFile = temp.ToNewCString();
1999-07-27 07:40:38 +00:00
valeski%netscape.com 7681f64a2c this dir is not in any builds. removed the unwanted AsyncConvertSTream method. now we support one sync conversion method, and one async 1999-07-27 03:25:57 +00:00
hoa.nguyen%intel.com d3a6f0a536 Removed backed out change which added dns/daemon to build. Need to test on Windows and Mac build first. 1999-07-27 02:56:36 +00:00
hoa.nguyen%intel.com feecea82e0 Added dns/daemon to makefiles 1999-07-27 02:44:16 +00:00
gordon%netscape.com 0149341721 Find proper resource directory for Mac, rather than /usr/local/netscape/bin. 1999-07-27 01:11:03 +00:00
gagan%netscape.com 00df4e6ed7 Necko only. Added a missing trailing newline. 1999-07-26 22:44:22 +00:00
valeski%netscape.com dceba2964a stream converter interface changes. the sync and 2nd async methods are now implemented by the service too 1999-07-26 22:12:05 +00:00
dougt%netscape.com 69178099d5 Fix for bug 10177 and 10041. 1999-07-26 22:09:42 +00:00
hoa.nguyen%intel.com 84794ad80b Standalone daemon process to handle async DNS lookup on Unix/Linux. 1999-07-26 21:25:00 +00:00
hoa.nguyen%intel.com 11fa5d73e4 Makefile for DNS daemon process. 1999-07-26 21:23:24 +00:00
beard%netscape.com eb2d0924b9 Makes resource URLs work, by special-casing "/usr/local/netscape/bin" on the Mac. This should probably be moved elsewhere, but works for now. 1999-07-25 18:39:41 +00:00
beard%netscape.com baa19508a0 First Checked In. 1999-07-25 18:35:34 +00:00
valeski%netscape.com be23c919f4 necko - we now set the user agent by default 1999-07-25 13:54:47 +00:00
sdagley%netscape.com 06b979de5b Removed mime component from main newterk and put it into its own project. 1999-07-25 01:39:44 +00:00
sdagley%netscape.com c975303ed6 First Checked In. 1999-07-25 01:37:42 +00:00
ducarroz%netscape.com b8911a5e87 First Checked In. 1999-07-24 20:50:35 +00:00
warren%netscape.com d8a007302a Removed about:blank joke. 1999-07-23 20:11:02 +00:00
gordon%netscape.com 670c22014f File Removed. 1999-07-23 19:39:04 +00:00
valeski%netscape.com e8723c09e8 necko only - added temporary user agent string creation code 1999-07-23 16:35:53 +00:00
valeski%netscape.com 1c6f1bb68a necko only - fixed some miss-matched memory deallocations, and pulled an extraneous addref/release combo 1999-07-23 16:35:13 +00:00
gordon%netscape.com e599ec2ac5 Mac-NECKO-only checkin. Added nsIStreamConverter2.idl to netwerkIDL.mcp project, as per Scott MacGregor's request. 1999-07-23 07:09:36 +00:00
mscott%netscape.com 893bc1d040 necko only:
Added the "hack" which can be turned off by undefining STREAM_CONVERTER_HACK. Basically, if we are reading in an rfc822
file we insert a stream converter between the file channel and the consumer of the file channel. the file channel
then talks to the converter which talks to the end consumer.

Made the file channel honor the number of bytes read parameter which gets passed in on AsyncRead. We now cancel the read
after we've read in the desired # of bytes.

fixed two file parsing bugs: one in Init and one in GetContenttype
1999-07-23 06:16:37 +00:00
pinkerton%netscape.com ce409780b5 fix access paths to find timer in widget instead of gfx. all targets updated. 1999-07-23 06:06:19 +00:00
mscott%netscape.com d55d3c558c export nsIStreamConverter2.idl 1999-07-23 05:50:32 +00:00
mscott%netscape.com 5fdc858a17 generate header file for nsIStreamConverter2.idl 1999-07-23 05:49:07 +00:00
mscott%netscape.com c3e2512a51 this used to be mailnews\mime\public\nsIStreamConverter.idl but it needs to be moved out of mailnews as it is generic
and not specific to mailnews. The final resting place for this file will be netwerk\streamcnvts\public but that
directory isn't buildable yet so I'm moving it here for safe keeping. The name (the 2 part) is lame but it conflicted
with a file Jud is addding to streamconv (nsIStreamConverter). Don't worry..eventually the two interfaces
are going to be merged into one.
1999-07-23 05:48:27 +00:00
gordon%netscape.com af26c5fe43 Added nsTimer.cpp and nsRepeater.cpp for the purposes of landing NECKO. This most closely approximates the functionality of the old NetLib, so it required the least amount of changes. We can figure out the ultimate resting place for these files after NECKO lands. 1999-07-23 05:24:28 +00:00
gordon%netscape.com 264c3db8b2 Export functions on Mac (only) because it builds Netwerk Util as a shared library, not as static as on the other platforms. 1999-07-23 01:50:58 +00:00
gordon%netscape.com dde8bcdab1 Added nsHTTPEncodeStream.cpp. 1999-07-23 01:03:15 +00:00
gordon%netscape.com 4068659917 Added nsIHTTPProtocolHandler.idl. 1999-07-23 00:56:23 +00:00
gordon%netscape.com 804de3fea0 Removed nsStandardUrl.cpp and added nsStdURL.cpp. Changed prefix header of debug target to actually use debug header file (Thanks Scott). 1999-07-23 00:43:07 +00:00
valeski%netscape.com 604537e15a changed stream converter progid root and provided more in depth usage notes 1999-07-22 23:59:32 +00:00
andreas.otte%primus-online.de 7f82235d9b adding the new streamconv makefiles 1999-07-22 21:39:04 +00:00
andreas.otte%primus-online.de c90f3a93d8 some ignorance 1999-07-22 21:38:22 +00:00
valeski%netscape.com 4a9296ad34 stream converter graph construction now happens when a direct path is not accessible, and is built up by enumerating stream converter subkeys from the registry 1999-07-22 21:24:58 +00:00
gagan%netscape.com 8bb993616b Replaced nsStandardUrl with nsStdURL. 1999-07-22 21:19:15 +00:00
gagan%netscape.com 4a65c95965 Changes for the standard URL parsing. Added SetRelativePath. Cleaned up the deletions (all thru nsCRT now) Added functionality for Query and Ref portions of the Path. Added DirFile function to nsIURL to allow just Directory and the Filename. Misc. cleanups as well. 1999-07-22 21:14:51 +00:00
mscott%netscape.com 52529d021d Necko only: Change the library name to mimetype instead of mime. we were overwriting a mailnews library which had the same name. 1999-07-22 20:09:22 +00:00
mscott%netscape.com 0bf8c92993 Necko only: change the name of the mime type dll to be mimetype.dll instead of mime.dll. mime.dll was over-writing
the mailnews mime.dll.
1999-07-22 20:05:33 +00:00
valeski%netscape.com c3fa8f4c3a adding stream converter code 1999-07-22 19:11:33 +00:00
tbogard%aol.net 87c2cb7cb9 Fixing Necko build bustage. 1999-07-22 03:33:49 +00:00
tbogard%aol.net f78667de08 Looks like I missed a header for the nsCStringKey -> nsStringKey change. 1999-07-22 02:47:39 +00:00