summaryrefslogtreecommitdiffstatshomepage
path: root/src/tools/imgtool/filteoln.cpp
diff options
context:
space:
mode:
author Vas Crabb <vas@vastheman.com>2016-10-24 22:46:21 +1100
committer Vas Crabb <vas@vastheman.com>2016-10-24 22:46:21 +1100
commit27b58ac334b6d434ff8361800214f3e7c96d8a40 (patch)
tree1059628ee9599fcb235113e7d20adebfdc221a57 /src/tools/imgtool/filteoln.cpp
parent865dbe0357448e7fe0f59f72f56e77cc157354d2 (diff)
parentd167f6a5e15a6a153dcca872ca7588f8e41726c3 (diff)
Merge pull request #1543 from npwoods/imgtool_stream_open_smartpointer
[Imgtool] Changed imgtool::stream::open*() to return imgtool::stream::ptr
Diffstat (limited to 'src/tools/imgtool/filteoln.cpp')
-rw-r--r--src/tools/imgtool/filteoln.cpp36
1 files changed, 8 insertions, 28 deletions
diff --git a/src/tools/imgtool/filteoln.cpp b/src/tools/imgtool/filteoln.cpp
index a4c3a0506a9..bb589e8fafe 100644
--- a/src/tools/imgtool/filteoln.cpp
+++ b/src/tools/imgtool/filteoln.cpp
@@ -56,28 +56,18 @@ static imgtoolerr_t convert_stream_eolns(imgtool::stream &source, imgtool::strea
static imgtoolerr_t ascii_readfile(imgtool::partition &partition, const char *filename, const char *fork, imgtool::stream &destf)
{
imgtoolerr_t err;
- imgtool::stream *mem_stream;
+ imgtool::stream::ptr mem_stream;
mem_stream = imgtool::stream::open_mem(nullptr, 0);
if (!mem_stream)
- {
- err = IMGTOOLERR_OUTOFMEMORY;
- goto done;
- }
+ return IMGTOOLERR_OUTOFMEMORY;
err = partition.read_file(filename, fork, *mem_stream, nullptr);
if (err)
- goto done;
+ return err;
mem_stream->seek(SEEK_SET, 0);
- err = convert_stream_eolns(*mem_stream, destf, EOLN);
- if (err)
- goto done;
-
-done:
- if (mem_stream)
- delete mem_stream;
- return err;
+ return convert_stream_eolns(*mem_stream, destf, EOLN);
}
@@ -85,32 +75,22 @@ done:
static imgtoolerr_t ascii_writefile(imgtool::partition &partition, const char *filename, const char *fork, imgtool::stream &sourcef, util::option_resolution *opts)
{
imgtoolerr_t err;
- imgtool::stream *mem_stream = nullptr;
+ imgtool::stream::ptr mem_stream;
const char *eoln;
/* create a stream */
mem_stream = imgtool::stream::open_mem(nullptr, 0);
if (!mem_stream)
- {
- err = IMGTOOLERR_OUTOFMEMORY;
- goto done;
- }
+ return IMGTOOLERR_OUTOFMEMORY;
eoln = partition.get_info_string(IMGTOOLINFO_STR_EOLN);
err = convert_stream_eolns(sourcef, *mem_stream, eoln);
if (err)
- goto done;
+ return err;
mem_stream->seek(SEEK_SET, 0);
- err = partition.write_file(filename, fork, *mem_stream, opts, nullptr);
- if (err)
- goto done;
-
-done:
- if (mem_stream)
- delete mem_stream;
- return err;
+ return partition.write_file(filename, fork, *mem_stream, opts, nullptr);
}