Change %extend example which said that char arrays were problematic to wrap, when in fact they are not

git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11764 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
William S Fulton 2009-12-02 22:16:48 +00:00
commit 09a801dd9e
4 changed files with 53 additions and 28 deletions

View file

@ -4,22 +4,35 @@
%{
typedef struct {
char name[50];
char name[50];
} Person;
%}
typedef struct {
%extend {
char *name;
}
%extend {
char name[50];
}
} Person;
/* Specific implementation of set/get functions */
%{
char *Person_name_get(Person *p) {
return p->name;
#include <ctype.h>
#include <string.h>
void make_upper(char *name) {
char *c;
for (c = name; *c; ++c)
*c = (char)toupper((int)*c);
}
/* Specific implementation of set/get functions forcing capitalization */
char *Person_name_get(Person *p) {
make_upper(p->name);
return p->name;
}
void Person_name_set(Person *p, char *val) {
strncpy(p->name,val,50);
strncpy(p->name,val,50);
make_upper(p->name);
}
%}