summaryrefslogtreecommitdiff
path: root/files.cpp
diff options
context:
space:
mode:
authorweidai <weidai@57ff6487-cd31-0410-9ec3-f628ee90f5f0>2003-07-04 00:17:37 +0000
committerweidai <weidai@57ff6487-cd31-0410-9ec3-f628ee90f5f0>2003-07-04 00:17:37 +0000
commit572fe07633123ce38abf28c6426356e37aef3a99 (patch)
tree0536d87e504a82920156c239bc5ae6aa43e70ebc /files.cpp
parent3e8c979ddc194e043567c036321e67c89f847362 (diff)
downloadcryptopp-572fe07633123ce38abf28c6426356e37aef3a99.tar.gz
create DLL version, fix GetNextIV() bug in CTR and OFB modes
git-svn-id: svn://svn.code.sf.net/p/cryptopp/code/trunk/c5@87 57ff6487-cd31-0410-9ec3-f628ee90f5f0
Diffstat (limited to 'files.cpp')
-rw-r--r--files.cpp21
1 files changed, 13 insertions, 8 deletions
diff --git a/files.cpp b/files.cpp
index fc32b4b..25300a1 100644
--- a/files.cpp
+++ b/files.cpp
@@ -1,6 +1,9 @@
// files.cpp - written and placed in the public domain by Wei Dai
#include "pch.h"
+
+#ifndef CRYPTOPP_IMPORTS
+
#include "files.h"
NAMESPACE_BEGIN(CryptoPP)
@@ -16,16 +19,15 @@ void Files_TestInstantiations()
void FileStore::StoreInitialize(const NameValuePairs &parameters)
{
- m_file.close();
- m_file.clear();
+ m_file.reset(new std::ifstream);
const char *fileName;
if (parameters.GetValue(Name::InputFileName(), fileName))
{
ios::openmode binary = parameters.GetValueWithDefault(Name::InputBinaryMode(), true) ? ios::binary : ios::openmode(0);
- m_file.open(fileName, ios::in | binary);
- if (!m_file)
+ m_file->open(fileName, ios::in | binary);
+ if (!*m_file)
throw OpenErr(fileName);
- m_stream = &m_file;
+ m_stream = m_file.get();
}
else
{
@@ -148,14 +150,15 @@ unsigned long FileStore::Skip(unsigned long skipMax)
void FileSink::IsolatedInitialize(const NameValuePairs &parameters)
{
+ m_file.reset(new std::ofstream);
const char *fileName;
if (parameters.GetValue(Name::OutputFileName(), fileName))
{
ios::openmode binary = parameters.GetValueWithDefault(Name::OutputBinaryMode(), true) ? ios::binary : ios::openmode(0);
- m_file.open(fileName, ios::out | ios::trunc | binary);
- if (!m_file)
+ m_file->open(fileName, ios::out | ios::trunc | binary);
+ if (!*m_file)
throw OpenErr(fileName);
- m_stream = &m_file;
+ m_stream = m_file.get();
}
else
{
@@ -193,3 +196,5 @@ unsigned int FileSink::Put2(const byte *inString, unsigned int length, int messa
}
NAMESPACE_END
+
+#endif