X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=lib%2Fpython%2Fpyutils.c;h=f5362fcbf86f11c009972226f78afe2800a4cf51;hb=e4687b3aa2aed49fb16ba9e9561344d808750297;hp=95c222bd0584fe7754316d77a5efc980f6972fc2;hpb=bb3dc0a7de867b3fd3b58d46f7ee69eeb11ccb5d;p=swftools.git diff --git a/lib/python/pyutils.c b/lib/python/pyutils.c index 95c222b..f5362fc 100644 --- a/lib/python/pyutils.c +++ b/lib/python/pyutils.c @@ -10,7 +10,7 @@ char* setError(char*format, ...) int l; va_list arglist; va_start(arglist, format); - vsprintf(buf, format, arglist); + vsnprintf(buf, sizeof(buf)-1, format, arglist); va_end(arglist); l = strlen(buf); while(l && buf[l-1]=='\n') { @@ -20,7 +20,7 @@ char* setError(char*format, ...) return strdup(buf); } -int verbose = 1; +static int verbose = 0; void mylog(char*format, ...) { char buf[1024]; @@ -29,15 +29,15 @@ void mylog(char*format, ...) if(!verbose) return; va_start(arglist, format); - vsprintf(buf, format, arglist); + vsnprintf(buf, sizeof(buf)-1, format, arglist); va_end(arglist); l = strlen(buf); while(l && buf[l-1]=='\n') { buf[l-1] = 0; l--; } - fprintf(stdout, "[SWF] %s\n", buf); - fflush(stdout); + fprintf(stderr, "[SWF] %s\n", buf); + fflush(stderr); } #define PY_NONE Py_BuildValue("s", 0) @@ -70,9 +70,12 @@ PyMethodDef* addMethods(PyMethodDef*obj1, PyMethodDef*obj2) if(obj1) for(num1=0;obj1[num1].ml_name;num1++); if(obj2) for(num2=0;obj2[num2].ml_name;num2++); PyMethodDef* result = malloc(sizeof(PyMethodDef)*(num1+num2+1)); - memcpy(result, obj1, num1*sizeof(PyMethodDef)); - memcpy(&result[num1], obj2, (num2+1)*sizeof(PyMethodDef)); - //free(obj1)? + if(obj1) + memcpy(result, obj1, num1*sizeof(PyMethodDef)); + if(obj2) + memcpy(&result[num1], obj2, (num2+1)*sizeof(PyMethodDef)); + if(obj1) + free(obj1); return result; } void setVerbosity(int _verbose)