Use the DOH String instead of a static char array.

git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@9297 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
Olly Betts 2006-09-19 18:13:53 +00:00
commit 93d3c4b6d2
5 changed files with 24 additions and 27 deletions

View file

@ -325,7 +325,6 @@ int CFFI :: functionWrapper(Node *n) {
ParmList *parms = Getattr(n,"parms"); ParmList *parms = Getattr(n,"parms");
String *iname = Getattr(n,"sym:name"); String *iname = Getattr(n,"sym:name");
Wrapper *wrap = NewWrapper(); Wrapper *wrap = NewWrapper();
char wname[256];
String *raw_return_type = Swig_typemap_lookup_new("ctype",n,"",0); String *raw_return_type = Swig_typemap_lookup_new("ctype",n,"",0);
SwigType *return_type = Swig_cparse_type(raw_return_type); SwigType *return_type = Swig_cparse_type(raw_return_type);
@ -348,11 +347,9 @@ int CFFI :: functionWrapper(Node *n) {
return SWIG_ERROR; return SWIG_ERROR;
} }
String *nw = Swig_name_wrapper(iname); String *wname = Swig_name_wrapper(iname);
strcpy(wname,Char(nw));
Delete(nw);
if (overname) { if (overname) {
strcat(wname,Char(overname)); StringAppend(wname, overname);
} }
// Emit all of the local variables for holding arguments. // Emit all of the local variables for holding arguments.
@ -449,6 +446,8 @@ int CFFI :: functionWrapper(Node *n) {
// } // }
// } // }
Delete(wname);
return SWIG_OK; return SWIG_OK;
} }

View file

@ -1211,7 +1211,6 @@ public:
SwigType *t = Getattr(n,"type"); SwigType *t = Getattr(n,"type");
String *proc_name; String *proc_name;
char var_name[256];
Wrapper *f; Wrapper *f;
String *tm; String *tm;
@ -1220,7 +1219,7 @@ public:
f = NewWrapper(); f = NewWrapper();
// evaluation function names // evaluation function names
strcpy(var_name, Char(Swig_name_wrapper(iname))); String *var_name = Swig_name_wrapper(iname);
// Build the name for scheme. // Build the name for scheme.
proc_name = NewString(iname); proc_name = NewString(iname);
@ -1409,6 +1408,7 @@ public:
Swig_warning(WARN_TYPEMAP_VAR_UNDEF, input_file, line_number, Swig_warning(WARN_TYPEMAP_VAR_UNDEF, input_file, line_number,
"Unsupported variable type %s (ignored).\n", SwigType_str(t,0)); "Unsupported variable type %s (ignored).\n", SwigType_str(t,0));
} }
Delete(var_name);
Delete(proc_name); Delete(proc_name);
DelWrapper(f); DelWrapper(f);
return SWIG_OK; return SWIG_OK;
@ -1429,7 +1429,7 @@ public:
String *proc_name; String *proc_name;
char var_name[256]; String *var_name;
String *rvalue; String *rvalue;
Wrapper *f; Wrapper *f;
SwigType *nctype; SwigType *nctype;
@ -1438,8 +1438,7 @@ public:
f = NewWrapper(); f = NewWrapper();
// Make a static variable; // Make a static variable;
var_name = NewStringf("%sconst_%s", prefix, iname);
sprintf (var_name, "%sconst_%s", prefix, iname);
// Strip const qualifier from type if present // Strip const qualifier from type if present
@ -1455,6 +1454,7 @@ public:
if ((SwigType_type(nctype) == T_USER) && (!is_a_pointer(nctype))) { if ((SwigType_type(nctype) == T_USER) && (!is_a_pointer(nctype))) {
Swig_warning(WARN_TYPEMAP_CONST_UNDEF, input_file, line_number, Swig_warning(WARN_TYPEMAP_CONST_UNDEF, input_file, line_number,
"Unsupported constant value.\n"); "Unsupported constant value.\n");
Delete(var_name);
return SWIG_NOWRAP; return SWIG_NOWRAP;
} }
@ -1491,6 +1491,7 @@ public:
variableWrapper(n); variableWrapper(n);
Delete(n); Delete(n);
} }
Delete(var_name);
Delete(nctype); Delete(nctype);
Delete(proc_name); Delete(proc_name);
Delete(rvalue); Delete(rvalue);

View file

@ -513,7 +513,6 @@ public:
SwigType *t = Getattr(n,"type"); SwigType *t = Getattr(n,"type");
String *proc_name = NewString(""); String *proc_name = NewString("");
char var_name[256];
String *tm; String *tm;
String *tm2 = NewString("");; String *tm2 = NewString("");;
String *argnum = NewString("0"); String *argnum = NewString("0");
@ -525,8 +524,7 @@ public:
f = NewWrapper(); f = NewWrapper();
// evaluation function names // evaluation function names
String *var_name = Swig_name_wrapper(iname);
strcpy(var_name, Char(Swig_name_wrapper(iname)));
// Build the name for scheme. // Build the name for scheme.
Printv(proc_name, iname,NIL); Printv(proc_name, iname,NIL);
@ -593,6 +591,7 @@ public:
Swig_warning(WARN_TYPEMAP_VAR_UNDEF, input_file, line_number, Swig_warning(WARN_TYPEMAP_VAR_UNDEF, input_file, line_number,
"Unsupported variable type %s (ignored).\n", SwigType_str(t,0)); "Unsupported variable type %s (ignored).\n", SwigType_str(t,0));
} }
Delete(var_name);
Delete(proc_name); Delete(proc_name);
Delete(argnum); Delete(argnum);
Delete(arg); Delete(arg);

View file

@ -833,7 +833,6 @@ public:
SwigType *t = Getattr(n,"type"); SwigType *t = Getattr(n,"type");
String *proc_name = NewString(""); String *proc_name = NewString("");
char var_name[256];
String *tm; String *tm;
String *tm2 = NewString("");; String *tm2 = NewString("");;
String *argnum = NewString("0"); String *argnum = NewString("0");
@ -854,7 +853,7 @@ public:
f = NewWrapper(); f = NewWrapper();
// evaluation function names // evaluation function names
strcpy(var_name, Char(Swig_name_wrapper(iname))); String *var_name = Swig_name_wrapper(iname);
// Build the name for scheme. // Build the name for scheme.
Printv(proc_name, iname, NIL); Printv(proc_name, iname, NIL);
@ -931,6 +930,7 @@ public:
mname, var_name ); mname, var_name );
} }
Delete(var_name);
Delete(proc_name); Delete(proc_name);
Delete(argnum); Delete(argnum);
Delete(arg); Delete(arg);

View file

@ -1591,7 +1591,6 @@ public:
Parm *p; Parm *p;
int i; int i;
char wname[256];
char source[64]; char source[64];
Wrapper *f; Wrapper *f;
String *parse_args; String *parse_args;
@ -1657,11 +1656,9 @@ public:
((num_arguments == 1) && (num_required == 1) && Getattr(l,"self"))) allow_kwargs = 0; ((num_arguments == 1) && (num_required == 1) && Getattr(l,"self"))) allow_kwargs = 0;
varargs = emit_isvarargs(l); varargs = emit_isvarargs(l);
String *nw = Swig_name_wrapper(iname); String *wname = Swig_name_wrapper(iname);
strcpy(wname,Char(nw));
Delete(nw);
if (overname) { if (overname) {
strcat(wname,Char(overname)); Append(wname, overname);
} }
if (!allow_kwargs || Getattr(n,"sym:overloaded")) { if (!allow_kwargs || Getattr(n,"sym:overloaded")) {
@ -2176,6 +2173,7 @@ public:
Delete(cleanup); Delete(cleanup);
Delete(outarg); Delete(outarg);
Delete(kwargs); Delete(kwargs);
Delete(wname);
DelWrapper(f); DelWrapper(f);
return SWIG_OK; return SWIG_OK;
} }