33 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
44
55#include " FileLocation.h"
6- #if !defined(MOZILLA_XPCOMRT_API)
76#include " nsZipArchive.h"
87#include " nsURLHelper.h"
9- #endif // !defined(MOZILLA_XPCOMRT_API)
108
119namespace mozilla {
1210
@@ -33,12 +31,9 @@ FileLocation::FileLocation(const FileLocation& aFile, const char* aPath)
3331 if (aFile.IsZip ()) {
3432 if (aFile.mBaseFile ) {
3533 Init (aFile.mBaseFile , aFile.mPath .get ());
36- }
37- #if !defined(MOZILLA_XPCOMRT_API)
38- else {
34+ } else {
3935 Init (aFile.mBaseZip , aFile.mPath .get ());
4036 }
41- #endif
4237 if (aPath) {
4338 int32_t i = mPath .RFindChar (' /' );
4439 if (kNotFound == i) {
@@ -76,37 +71,30 @@ FileLocation::FileLocation(const FileLocation& aFile, const char* aPath)
7671void
7772FileLocation::Init (nsIFile* aFile)
7873{
79- #if !defined(MOZILLA_XPCOMRT_API)
8074 mBaseZip = nullptr ;
81- #endif // !defined(MOZILLA_XPCOMRT_API)
8275 mBaseFile = aFile;
8376 mPath .Truncate ();
8477}
8578
8679void
8780FileLocation::Init (nsIFile* aFile, const char * aPath)
8881{
89- #if !defined(MOZILLA_XPCOMRT_API)
9082 mBaseZip = nullptr ;
91- #endif // !defined(MOZILLA_XPCOMRT_API)
9283 mBaseFile = aFile;
9384 mPath = aPath;
9485}
9586
9687void
9788FileLocation::Init (nsZipArchive* aZip, const char * aPath)
9889{
99- #if !defined(MOZILLA_XPCOMRT_API)
10090 mBaseZip = aZip;
101- #endif // !defined(MOZILLA_XPCOMRT_API)
10291 mBaseFile = nullptr ;
10392 mPath = aPath;
10493}
10594
10695void
10796FileLocation::GetURIString (nsACString& aResult) const
10897{
109- #if !defined(MOZILLA_XPCOMRT_API)
11098 if (mBaseFile ) {
11199 net_GetURLSpecFromActualFile (mBaseFile , aResult);
112100 } else if (mBaseZip ) {
@@ -118,21 +106,18 @@ FileLocation::GetURIString(nsACString& aResult) const
118106 aResult += " !/" ;
119107 aResult += mPath ;
120108 }
121- #endif // !defined(MOZILLA_XPCOMRT_API)
122109}
123110
124111already_AddRefed<nsIFile>
125112FileLocation::GetBaseFile ()
126113{
127- #if !defined(MOZILLA_XPCOMRT_API)
128114 if (IsZip () && mBaseZip ) {
129115 nsRefPtr<nsZipHandle> handler = mBaseZip ->GetFD ();
130116 if (handler) {
131117 return handler->mFile .GetBaseFile ();
132118 }
133119 return nullptr ;
134120 }
135- #endif // !defined(MOZILLA_XPCOMRT_API)
136121
137122 nsCOMPtr<nsIFile> file = mBaseFile ;
138123 return file.forget ();
@@ -152,7 +137,6 @@ FileLocation::Equals(const FileLocation& aFile) const
152137
153138 const FileLocation* a = this ;
154139 const FileLocation* b = &aFile;
155- #if !defined(MOZILLA_XPCOMRT_API)
156140 if (a->mBaseZip ) {
157141 nsRefPtr<nsZipHandle> handler = a->mBaseZip ->GetFD ();
158142 a = &handler->mFile ;
@@ -161,15 +145,12 @@ FileLocation::Equals(const FileLocation& aFile) const
161145 nsRefPtr<nsZipHandle> handler = b->mBaseZip ->GetFD ();
162146 b = &handler->mFile ;
163147 }
164- #endif // !defined(MOZILLA_XPCOMRT_API)
165-
166148 return a->Equals (*b);
167149}
168150
169151nsresult
170152FileLocation::GetData (Data& aData)
171153{
172- #if !defined(MOZILLA_XPCOMRT_API)
173154 if (!IsZip ()) {
174155 return mBaseFile ->OpenNSPRFileDesc (PR_RDONLY, 0444 , &aData.mFd .rwget ());
175156 }
@@ -182,7 +163,6 @@ FileLocation::GetData(Data& aData)
182163 if (aData.mItem ) {
183164 return NS_OK;
184165 }
185- #endif // !defined(MOZILLA_XPCOMRT_API)
186166 return NS_ERROR_FILE_UNRECOGNIZED_PATH;
187167}
188168
@@ -201,13 +181,10 @@ FileLocation::Data::GetSize(uint32_t* aResult)
201181
202182 *aResult = fileInfo.size ;
203183 return NS_OK;
204- }
205- #if !defined(MOZILLA_XPCOMRT_API)
206- else if (mItem ) {
184+ } else if (mItem ) {
207185 *aResult = mItem ->RealSize ();
208186 return NS_OK;
209187 }
210- #endif // !defined(MOZILLA_XPCOMRT_API)
211188 return NS_ERROR_NOT_INITIALIZED;
212189}
213190
@@ -224,16 +201,13 @@ FileLocation::Data::Copy(char* aBuf, uint32_t aLen)
224201 totalRead += read;
225202 }
226203 return NS_OK;
227- }
228- #if !defined(MOZILLA_XPCOMRT_API)
229- else if (mItem ) {
204+ } else if (mItem ) {
230205 nsZipCursor cursor (mItem , mZip , reinterpret_cast <uint8_t *>(aBuf),
231206 aLen, true );
232207 uint32_t readLen;
233208 cursor.Copy (&readLen);
234209 return (readLen == aLen) ? NS_OK : NS_ERROR_FILE_CORRUPTED;
235210 }
236- #endif // !defined(MOZILLA_XPCOMRT_API)
237211 return NS_ERROR_NOT_INITIALIZED;
238212}
239213
0 commit comments