From 880969402b498404cdef381c968c04fc9e3b9e84 Mon Sep 17 00:00:00 2001 From: "colin%theblakes.com" Date: Mon, 27 Nov 2000 11:19:41 +0000 Subject: [PATCH] OpenVMS specific fix for defeciency in stat. b=60199 r=dougt a=waterson --- xpcom/io/nsLocalFileUnix.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp index 1b74cfa72304..594dc08a8d02 100644 --- a/xpcom/io/nsLocalFileUnix.cpp +++ b/xpcom/io/nsLocalFileUnix.cpp @@ -43,6 +43,9 @@ #include #include #endif +#if defined(VMS) +#include +#endif #include "nsCRT.h" #include "nsCOMPtr.h" @@ -921,6 +924,14 @@ nsLocalFile::GetFileSize(PRInt64 *aFileSize) NS_ENSURE_ARG_POINTER(aFileSize); VALIDATE_STAT_CACHE(); +#if defined(VMS) + /* Only two record formats can report correct file content size */ + if ((mCachedStat.st_fab_rfm != FAB$C_STMLF) && + (mCachedStat.st_fab_rfm != FAB$C_STMCR)) { + return NS_ERROR_FAILURE; + } +#endif + /* XXX autoconf for and use stat64 if available */ if (S_ISDIR(mCachedStat.st_mode)) { *aFileSize = LL_ZERO;