diff options
Diffstat (limited to 'src/libs/7zip/unix/CPP/Common/StdInStream.cpp')
-rw-r--r-- | src/libs/7zip/unix/CPP/Common/StdInStream.cpp | 100 |
1 files changed, 0 insertions, 100 deletions
diff --git a/src/libs/7zip/unix/CPP/Common/StdInStream.cpp b/src/libs/7zip/unix/CPP/Common/StdInStream.cpp deleted file mode 100644 index 78897e5ef..000000000 --- a/src/libs/7zip/unix/CPP/Common/StdInStream.cpp +++ /dev/null @@ -1,100 +0,0 @@ -// Common/StdInStream.cpp - -#include "StdAfx.h" - -#include <tchar.h> -#include "StdInStream.h" - -#ifdef _MSC_VER -// "was declared deprecated" disabling -#pragma warning(disable : 4996 ) -#endif - -#ifdef _UNICODE -#include "Common/StringConvert.h" -#define NEED_NAME_WINDOWS_TO_UNIX -#include "myPrivate.h" -#endif - -static const char kIllegalChar = '\0'; -static const char kNewLineChar = '\n'; - -static const char *kEOFMessage = "Unexpected end of input stream"; -static const char *kReadErrorMessage ="Error reading input stream"; -static const char *kIllegalCharMessage = "Illegal character in input stream"; - -static const char * kFileOpenMode = "r"; - -CStdInStream g_StdIn(stdin); - -bool CStdInStream::Open(LPCTSTR fileName) -{ - Close(); -#ifdef _UNICODE - AString aStr = UnicodeStringToMultiByte(fileName, CP_ACP); // FIXME - const char * name = nameWindowToUnix(aStr); -#else - const char * name = nameWindowToUnix(fileName); -#endif - _stream = fopen(name, kFileOpenMode); - _streamIsOpen = (_stream != 0); - return _streamIsOpen; -} - -bool CStdInStream::Close() -{ - if (!_streamIsOpen) - return true; - _streamIsOpen = (fclose(_stream) != 0); - return !_streamIsOpen; -} - -CStdInStream::~CStdInStream() -{ - Close(); -} - -AString CStdInStream::ScanStringUntilNewLine(bool allowEOF) -{ - AString s; - for (;;) - { - int intChar = GetChar(); - if (intChar == EOF) - { - if (allowEOF) - break; - throw kEOFMessage; - } - char c = char(intChar); - if (c == kIllegalChar) - throw kIllegalCharMessage; - if (c == kNewLineChar) - break; - s += c; - } - return s; -} - -void CStdInStream::ReadToString(AString &resultString) -{ - resultString.Empty(); - int c; - while ((c = GetChar()) != EOF) - resultString += char(c); -} - -bool CStdInStream::Eof() -{ - return (feof(_stream) != 0); -} - -int CStdInStream::GetChar() -{ - int c = fgetc(_stream); // getc() doesn't work in BeOS? - if (c == EOF && !Eof()) - throw kReadErrorMessage; - return c; -} - - |