================ @@ -224,6 +224,13 @@ AND call SWIG_fail at the same time, because it will result in a double free. } $1 = (char *)malloc($2); } + +// Remove the default type check for this match. +// because if the match function has an overload and a typemap, +// it will typecheck against the original function instead of the +// typemap. +%typemap(typecheck, precedence=SWIG_TYPECHECK_POINTER) (char *dst_or_null, size_t dst_len) "" ---------------- Michael137 wrote:
I also see: ``` // For lldb::SBFileSpec::GetPath %typemap(in) (char *dst_path, size_t dst_len) = (char *dst_or_null, size_t dst_len); %typemap(argout) (char *dst_path, size_t dst_len) = (char *dst_or_null, size_t dst_len); ``` I'm not too familiar with SWIG, so correct me if I'm wrong. This just copies the typemap, but not the `typecheck` itself? And regardless, is `typecheck` only ever applicable to these dispatch functions? In which case, `GetPath` wouldn't really be affected by that even if it did copy the typecheck? Unrelated: looks like `SBFileSpec::GetPath` suffers from the same kind of API problem where you have to supply a fixed size. Should we add an `SBStream` overload here too? In which case, copying the typemap would be beneficial anyways. https://github.com/llvm/llvm-project/pull/165379 _______________________________________________ lldb-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
