swig/Examples/perl5
William S Fulton a1e619b7cb argcargv / OOM-protection follow-ups
- [Lua] Fix off-by-one when nil terminates the table early: use $1 = i
  (not i + 1) to match the count of strings actually copied, and pop
  the nil from the Lua stack before breaking.

- [Python] In SWIG_AsCharPtrAndSize (pystrings.swg) decref bytes / obj
  on the SWIG_MemoryError early returns added by the previous commits,
  so an allocation failure no longer leaks the temporary PyObject.

- [Octave, Python] In argcargv.i free already-allocated string entries
  and the array itself before failing on a per-element OOM (Python uses
  the existing break path so the freearg typemap performs the cleanup).

- [Perl, PHP, Tcl] Drop unreachable `goto fail` after SWIG_croak /
  SWIG_PHP_Error / SWIG_exception_fail, all of which already invoke
  SWIG_fail. Compilers warning on unreachable code complained.

- Standardise the OOM error wording across languages and fix the
  3- and 5-space indentation introduced by the previous commits.

- Update Examples/perl5/xmlstring/xmlstring.i to the new
  %typemaps_string signature (it picks up the missing WarningLeakMsg
  argument too) and add a SWIG_NewCopyXMLChArray fragment.

- CHANGES.current: document the API breakages introduced by removing
  %new_copy_array, removing %typemaps_string_alloc and extending
  %typemaps_string, including the actual error text users will see.

Assisted-by: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-19 21:01:30 +01:00
..
callback Remove use of preinst-swig script 2015-08-21 22:43:17 +01:00
class Remove legacy Visual C++ 6 project files 2024-10-19 23:50:32 +01:00
constants Remove use of preinst-swig script 2015-08-21 22:43:17 +01:00
constants2 Remove use of preinst-swig script 2015-08-21 22:43:17 +01:00
extend Remove use of preinst-swig script 2015-08-21 22:43:17 +01:00
funcptr Remove use of preinst-swig script 2015-08-21 22:43:17 +01:00
import Remove legacy Visual C++ 6 project files 2024-10-19 23:50:32 +01:00
inline Fix -Wextra-semi warnings (#3372) 2026-03-18 18:53:05 +00:00
multimap Remove legacy Visual C++ 6 project files 2024-10-19 23:50:32 +01:00
multiple_inheritance Remove use of preinst-swig script 2015-08-21 22:43:17 +01:00
pointer Remove pointer.i from the SWIG library 2023-06-15 15:50:51 +12:00
reference Update lingering uses of %addmethods 2023-05-29 11:40:53 +12:00
simple Remove legacy Visual C++ 6 project files 2024-10-19 23:50:32 +01:00
value Remove use of preinst-swig script 2015-08-21 22:43:17 +01:00
variables Misc. typos 2018-05-17 10:04:23 -04:00
xmlstring argcargv / OOM-protection follow-ups 2026-05-19 21:01:30 +01:00
check.list Remove GCJ support 2017-10-09 08:32:01 +13:00
index.html Update examples to recommend compiling with -fPIC instead of -fpic 2024-07-22 17:46:29 -04:00