From bbbf7288b30482da6113e40db6e20dde66dcf5c0 Mon Sep 17 00:00:00 2001 From: "darin%netscape.com" Date: Sat, 26 Jan 2002 00:38:37 +0000 Subject: [PATCH] fixes bug 114778 "formpost temp files not cleaned up when browser exits" patch=badami@netscape.com, r=rpotts@netscape.com, sr=darin@netscape.com git-svn-id: svn://10.0.0.236/trunk@112917 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/netwerk/base/src/nsBufferedStreams.cpp | 6 +++--- mozilla/netwerk/base/src/nsFileStreams.h | 5 ++++- mozilla/xpcom/io/nsLocalFileOS2.cpp | 8 ++++---- mozilla/xpcom/io/nsLocalFileWin.cpp | 6 +++--- 4 files changed, 14 insertions(+), 11 deletions(-) diff --git a/mozilla/netwerk/base/src/nsBufferedStreams.cpp b/mozilla/netwerk/base/src/nsBufferedStreams.cpp index 9e7f3c37c83..239def802d3 100644 --- a/mozilla/netwerk/base/src/nsBufferedStreams.cpp +++ b/mozilla/netwerk/base/src/nsBufferedStreams.cpp @@ -90,7 +90,7 @@ nsBufferedStream::Init(nsISupports* stream, PRUint32 bufferSize) NS_ASSERTION(stream, "need to supply a stream"); NS_ASSERTION(mStream == nsnull, "already inited"); mStream = stream; - NS_ADDREF(mStream); + NS_IF_ADDREF(mStream); mBufferSize = bufferSize; mBufferStartOffset = 0; mCursor = 0; @@ -103,7 +103,7 @@ nsBufferedStream::Init(nsISupports* stream, PRUint32 bufferSize) nsresult nsBufferedStream::Close() { - nsresult rv = NS_OK; + NS_IF_RELEASE(mStream); if (mBuffer) { delete[] mBuffer; mBuffer = nsnull; @@ -111,7 +111,7 @@ nsBufferedStream::Close() mBufferStartOffset = 0; mCursor = 0; } - return rv; + return NS_OK; } NS_IMETHODIMP diff --git a/mozilla/netwerk/base/src/nsFileStreams.h b/mozilla/netwerk/base/src/nsFileStreams.h index a2b5af2a432..d0bb4dedef4 100644 --- a/mozilla/netwerk/base/src/nsFileStreams.h +++ b/mozilla/netwerk/base/src/nsFileStreams.h @@ -104,7 +104,10 @@ public: NS_DECL_NSILINEINPUTSTREAM nsFileInputStream() : nsFileStream() {} - virtual ~nsFileInputStream() {} + virtual ~nsFileInputStream() + { + Close(); + } static NS_METHOD Create(nsISupports *aOuter, REFNSIID aIID, void **aResult); diff --git a/mozilla/xpcom/io/nsLocalFileOS2.cpp b/mozilla/xpcom/io/nsLocalFileOS2.cpp index 2fdb96355c3..0e47402112d 100644 --- a/mozilla/xpcom/io/nsLocalFileOS2.cpp +++ b/mozilla/xpcom/io/nsLocalFileOS2.cpp @@ -1241,18 +1241,18 @@ nsLocalFile::Remove(PRBool recursive) } } #ifdef XP_OS2_VACPP - rmdir((char *) filePath); // todo: save return value? + rv = rmdir((char *) filePath); // todo: save return value? #else - rmdir(filePath); // todo: save return value? + rv = rmdir(filePath); // todo: save return value? #endif } else { - remove(filePath); // todo: save return value? + rv = remove(filePath); // todo: save return value? } MakeDirty(); - return NS_OK; + return rv; } NS_IMETHODIMP diff --git a/mozilla/xpcom/io/nsLocalFileWin.cpp b/mozilla/xpcom/io/nsLocalFileWin.cpp index d377d6f11ab..5a3047e3974 100644 --- a/mozilla/xpcom/io/nsLocalFileWin.cpp +++ b/mozilla/xpcom/io/nsLocalFileWin.cpp @@ -1222,15 +1222,15 @@ nsLocalFile::Remove(PRBool recursive) iterator->HasMoreElements(&more); } } - rmdir(filePath); // todo: save return value? + rv = rmdir(filePath); // todo: save return value? } else { - remove(filePath); // todo: save return value? + rv = remove(filePath); // todo: save return value? } MakeDirty(); - return NS_OK; + return rv; } NS_IMETHODIMP