From: William S F. <ws...@fu...> - 2006-06-13 22:35:16
|
Hamlet Batista wrote: > Hi, > > I have this struct: > > typedef struct > { > unsigned char *corporate_id; > unsigned char *user_id; > unsigned char *password; > } CAI_Authentication; > > swig creates the wrapper find, but when I try this from python > > auth = CAI_Authentication() > auth.corporate_id = "guest" > > I get this errror: > > > 13 return > 14 method = class_type.__swig_setmethods__.get(name,None) > ---> 15 if method: return method(self,value) > 16 if (not static) or hasattr(self,name): > 17 self.__dict__[name] = value > > TypeError: in method 'CAI_Authentication_corporate_id_set', argument 2 > of type 'unsigned char *' > > Any help will be appreciated. > Default wrapping for unsigned char is for a pointer, not as a string as you require. SWIG uses char* for strings and this is all documented. You should be able to apply the char* typemaps to unsigned char*, but failing that copy the char* typemaps and use for unsigned char*. Or alternatively, change your C code to use char*. William |