From 72f7b829353cd2cd2bba2116cf6d961972d8d58a Mon Sep 17 00:00:00 2001 From: William S Fulton Date: Fri, 6 May 2022 18:44:02 +0100 Subject: [PATCH] Correct warning message for wchar_t * typemaps Use separate warning for char * and wchar_t * typemaps SWIGWARN_TYPEMAP_CHARLEAK_MSG and SWIGWARN_TYPEMAP_WCHARLEAK_MSG --- Lib/javascript/jsc/javascriptstrings.swg | 2 ++ Lib/typemaps/string.swg | 1 + Lib/typemaps/strings.swg | 13 ++++++++++--- Lib/typemaps/wstring.swg | 1 + 4 files changed, 14 insertions(+), 3 deletions(-) diff --git a/Lib/javascript/jsc/javascriptstrings.swg b/Lib/javascript/jsc/javascriptstrings.swg index 55c8e4b98..5c8081a82 100644 --- a/Lib/javascript/jsc/javascriptstrings.swg +++ b/Lib/javascript/jsc/javascriptstrings.swg @@ -75,6 +75,7 @@ SWIG_JSC_FromCharPtrAndSize(JSContextRef context, const char* carray, size_t siz } %define %_typemap2_string(StringCode, CharCode, + WarningLeakMsg, Char, CharName, SWIG_AsCharPtrAndSize, SWIG_FromCharPtrAndSize, @@ -166,6 +167,7 @@ SWIG_AsVal_dec(Char)(SWIG_Object obj, Char *val) %_typemap_string(StringCode, Char, + WarningLeakMsg, SWIG_AsCharPtrAndSize, SWIG_FromCharPtrAndSize, SWIG_CharPtrLen, diff --git a/Lib/typemaps/string.swg b/Lib/typemaps/string.swg index 4b7072365..72f4aa5b5 100644 --- a/Lib/typemaps/string.swg +++ b/Lib/typemaps/string.swg @@ -30,6 +30,7 @@ SWIG_strnlen(const char* s, size_t maxlen) %include %typemaps_string(%checkcode(STRING), %checkcode(CHAR), + SWIGWARN_TYPEMAP_CHARLEAK_MSG, char, Char, SWIG_AsCharPtrAndSize, SWIG_FromCharPtrAndSize, strlen, SWIG_strnlen, "", CHAR_MIN, CHAR_MAX) diff --git a/Lib/typemaps/strings.swg b/Lib/typemaps/strings.swg index 87e97dd74..e8ed401b0 100644 --- a/Lib/typemaps/strings.swg +++ b/Lib/typemaps/strings.swg @@ -19,6 +19,7 @@ %define %_typemap_string(StringCode, Char, + WarningLeakMsg, SWIG_AsCharPtrAndSize, SWIG_FromCharPtrAndSize, SWIG_CharPtrLen, @@ -86,7 +87,7 @@ } } -%typemap(varin,fragment=#SWIG_AsCharPtrAndSize,warning=SWIGWARN_TYPEMAP_CHARLEAK_MSG) const Char * { +%typemap(varin,fragment=#SWIG_AsCharPtrAndSize,warning=WarningLeakMsg) const Char * { Char *cptr = 0; size_t csize = 0; int alloc = SWIG_NEWOBJ; int res = SWIG_AsCharPtrAndSize($input, &cptr, &csize, &alloc); if (!SWIG_IsOK(res)) { @@ -117,7 +118,7 @@ } } -%typemap(memberin,noblock=1,warning=SWIGWARN_TYPEMAP_CHARLEAK_MSG) const Char * { +%typemap(memberin,noblock=1,warning=WarningLeakMsg) const Char * { if ($input) { size_t size = SWIG_CharPtrLen(%reinterpret_cast(%reinterpret_cast($input, const Char *), const Char *)) + 1; $1 = ($1_type)SWIG_NewCopyCharArray($input, size, Char); @@ -138,7 +139,7 @@ } } -%typemap(globalin,noblock=1,warning=SWIGWARN_TYPEMAP_CHARLEAK_MSG) const Char * { +%typemap(globalin,noblock=1,warning=WarningLeakMsg) const Char * { if ($input) { size_t size = SWIG_CharPtrLen($input) + 1; $1 = ($1_type)SWIG_NewCopyCharArray($input, size, Char); @@ -501,6 +502,7 @@ #ifndef %_typemap2_string %define %_typemap2_string(StringCode, CharCode, + WarningLeakMsg, Char, CharName, SWIG_AsCharPtrAndSize, SWIG_FromCharPtrAndSize, @@ -591,6 +593,7 @@ SWIG_AsVal_dec(Char)(SWIG_Object obj, Char *val) %_typemap_string(StringCode, Char, + WarningLeakMsg, SWIG_AsCharPtrAndSize, SWIG_FromCharPtrAndSize, SWIG_CharPtrLen, @@ -609,6 +612,7 @@ SWIG_AsVal_dec(Char)(SWIG_Object obj, Char *val) * ------------------------------------------------------------ */ %define %typemaps_string(StringCode, CharCode, + WarningLeakMsg, Char, CharName, SWIG_AsCharPtrAndSize, SWIG_FromCharPtrAndSize, @@ -616,6 +620,7 @@ SWIG_AsVal_dec(Char)(SWIG_Object obj, Char *val) SWIG_CharBufLen, FragLimits, CHAR_MIN, CHAR_MAX) %_typemap2_string(StringCode, CharCode, + WarningLeakMsg, Char, CharName, SWIG_AsCharPtrAndSize, SWIG_FromCharPtrAndSize, @@ -631,6 +636,7 @@ SWIG_AsVal_dec(Char)(SWIG_Object obj, Char *val) * ------------------------------------------------------------ */ %define %typemaps_string_alloc(StringCode, CharCode, + WarningLeakMsg, Char, CharName, SWIG_AsCharPtrAndSize, SWIG_FromCharPtrAndSize, @@ -640,6 +646,7 @@ SWIG_AsVal_dec(Char)(SWIG_Object obj, Char *val) SWIG_DeleteCharArray, FragLimits, CHAR_MIN, CHAR_MAX) %_typemap2_string(StringCode, CharCode, + WarningLeakMsg, Char, CharName, SWIG_AsCharPtrAndSize, SWIG_FromCharPtrAndSize, diff --git a/Lib/typemaps/wstring.swg b/Lib/typemaps/wstring.swg index cd409d1ce..d99c0bb38 100644 --- a/Lib/typemaps/wstring.swg +++ b/Lib/typemaps/wstring.swg @@ -31,6 +31,7 @@ SWIG_wcsnlen(const wchar_t* s, size_t maxlen) %include %typemaps_string(%checkcode(UNISTRING), %checkcode(UNICHAR), + SWIGWARN_TYPEMAP_WCHARLEAK_MSG, wchar_t, WChar, SWIG_AsWCharPtrAndSize, SWIG_FromWCharPtrAndSize, wcslen, SWIG_wcsnlen, "", WCHAR_MIN, WCHAR_MAX)