From 7a437e909ce81894d4ad9f1e22b55e609becb9bb Mon Sep 17 00:00:00 2001 From: Cameron Cawley Date: Sat, 18 Aug 2018 13:34:28 +0100 Subject: COMMON: Move new_strdup to common/str.cpp --- common/str.cpp | 10 ++++++++++ common/str.h | 1 + graphics/fonts/bdf.cpp | 13 ++----------- 3 files changed, 13 insertions(+), 11 deletions(-) diff --git a/common/str.cpp b/common/str.cpp index 468d1a6f53..f60d7d5e93 100644 --- a/common/str.cpp +++ b/common/str.cpp @@ -1058,3 +1058,13 @@ int scumm_strnicmp(const char *s1, const char *s2, uint n) { } while (l1 == l2 && l1 != 0); return l1 - l2; } + +// Portable implementation of strdup. +char *scumm_strdup(const char *in) { + const size_t len = strlen(in) + 1; + char *out = new char[len]; + if (out) { + strcpy(out, in); + } + return out; +} diff --git a/common/str.h b/common/str.h index 7a1706b7e1..5ed14b6942 100644 --- a/common/str.h +++ b/common/str.h @@ -482,5 +482,6 @@ size_t strnlen(const char *src, size_t maxSize); extern int scumm_stricmp(const char *s1, const char *s2); extern int scumm_strnicmp(const char *s1, const char *s2, uint n); +extern char *scumm_strdup(const char *in); #endif diff --git a/graphics/fonts/bdf.cpp b/graphics/fonts/bdf.cpp index 96255dc4d4..8424e00303 100644 --- a/graphics/fonts/bdf.cpp +++ b/graphics/fonts/bdf.cpp @@ -700,15 +700,6 @@ BdfFont *BdfFont::loadFromCache(Common::SeekableReadStream &stream) { return new BdfFont(data, DisposeAfterUse::YES); } -static char *new_strdup(const char *in) { - const size_t len = strlen(in) + 1; - char *out = new char[len]; - if (out) { - strcpy(out, in); - } - return out; -} - BdfFont *BdfFont::scaleFont(BdfFont *src, int newSize) { if (!src) { warning("Empty font reference in scale font"); @@ -734,8 +725,8 @@ BdfFont *BdfFont::scaleFont(BdfFont *src, int newSize) { data.firstCharacter = src->_data.firstCharacter; data.defaultCharacter = src->_data.defaultCharacter; data.numCharacters = src->_data.numCharacters; - data.familyName = new_strdup(src->_data.familyName); - data.slant = new_strdup(src->_data.slant); + data.familyName = scumm_strdup(src->_data.familyName); + data.slant = scumm_strdup(src->_data.slant); BdfBoundingBox *boxes = new BdfBoundingBox[data.numCharacters]; for (int i = 0; i < data.numCharacters; ++i) { -- cgit v1.2.3