hrev54486 adds 1 changeset to branch 'master'
old head: 1bad1ff34a3e132a8816d2ac7ba9722d3a5249a9
new head: e4c945bd5a12bb78b8ea48ecd467331068bee5b8
overview:
https://git.haiku-os.org/haiku/log/?qt=range&q=e4c945bd5a12+%5E1bad1ff34a3e
----------------------------------------------------------------------------
e4c945bd5a12: Icon-O-Matic: fix filename length limitation
The code was using B_OS_NAME_LENGTH instead of B_FILE_NAME_LENGTH.
Use of BString allows to put the different sizes in a loop.
[ Adrien Destugues <pulkomandy@xxxxxxxxxxxxx> ]
----------------------------------------------------------------------------
Revision: hrev54486
Commit: e4c945bd5a12bb78b8ea48ecd467331068bee5b8
URL: https://git.haiku-os.org/haiku/commit/?id=e4c945bd5a12
Author: Adrien Destugues <pulkomandy@xxxxxxxxxxxxx>
Date: Sun Aug 2 15:12:30 2020 UTC
----------------------------------------------------------------------------
1 file changed, 16 insertions(+), 23 deletions(-)
.../document/savers/BitmapSetSaver.cpp | 39 ++++++++------------
----------------------------------------------------------------------------
diff --git a/src/apps/icon-o-matic/document/savers/BitmapSetSaver.cpp
b/src/apps/icon-o-matic/document/savers/BitmapSetSaver.cpp
index 9d94323cce..f3f1e52bb0 100644
--- a/src/apps/icon-o-matic/document/savers/BitmapSetSaver.cpp
+++ b/src/apps/icon-o-matic/document/savers/BitmapSetSaver.cpp
@@ -10,47 +10,40 @@
#include <stdio.h>
+#include <String.h>
+
#include "BitmapExporter.h"
+
// constructor
BitmapSetSaver::BitmapSetSaver(const entry_ref& ref)
: FileSaver(ref)
{
}
+
// destructor
BitmapSetSaver::~BitmapSetSaver()
{
}
+
// Save
status_t
BitmapSetSaver::Save(Document* document)
{
entry_ref actualRef(fRef);
- char name[B_OS_NAME_LENGTH];
-
- // 64x64
- snprintf(name, sizeof(name), "%s_64.png", fRef.name);
- actualRef.set_name(name);
- Exporter* exporter = new BitmapExporter(64);
- exporter->SetSelfDestroy(true);
- exporter->Export(document, actualRef);
-
- // 16x16
- snprintf(name, sizeof(name), "%s_16.png", fRef.name);
- actualRef.set_name(name);
- exporter = new BitmapExporter(16);
- exporter->SetSelfDestroy(true);
- exporter->Export(document, actualRef);
-
- // 32x32
- snprintf(name, sizeof(name), "%s_32.png", fRef.name);
- actualRef.set_name(name);
- exporter = new BitmapExporter(32);
- exporter->SetSelfDestroy(true);
- exporter->Export(document, actualRef);
+ BString name;
+
+ int sizes[] = { 64, 32, 16 };
+
+ for (size_t i = 0; i < B_COUNT_OF(sizes); i++) {
+ name.SetToFormat("%s_%d.png", fRef.name, sizes[i]);
+ actualRef.set_name(name.String());
+ Exporter* exporter = new BitmapExporter(sizes[i]);
+ exporter->SetSelfDestroy(true);
+ exporter->Export(document, actualRef);
+ }
return B_OK;
}
-