mirror of https://github.com/swig/swig
37 lines
756 B
OpenEdge ABL
37 lines
756 B
OpenEdge ABL
/*
|
|
A test case for testing non null terminated char pointers.
|
|
*/
|
|
|
|
%module char_binary
|
|
|
|
#if !defined(SWIGC)
|
|
/* There is no concept of a higher level binary string in C */
|
|
%apply (char *STRING, size_t LENGTH) { (const char *str, size_t len) }
|
|
%apply (char *STRING, size_t LENGTH) { (const unsigned char *str, size_t len) }
|
|
#endif
|
|
|
|
%inline %{
|
|
struct Test {
|
|
size_t strlen(const char *str, size_t len) {
|
|
return len;
|
|
}
|
|
size_t ustrlen(const unsigned char *str, size_t len) {
|
|
return len;
|
|
}
|
|
};
|
|
|
|
typedef char namet[5];
|
|
namet var_namet;
|
|
|
|
typedef char* pchar;
|
|
pchar var_pchar;
|
|
%}
|
|
|
|
// Remove string handling typemaps and treat as pointer
|
|
%typemap(freearg) SWIGTYPE * ""
|
|
%apply SWIGTYPE * { char * }
|
|
|
|
%include "carrays.i"
|
|
%array_functions(char, pchar);
|
|
|