X-Git-Url: http://cgit.sxemacs.org/?p=sxemacs;a=blobdiff_plain;f=src%2Feffi.c;h=8f68d501c31e44292ad14ecdc118fb0129f3f7e2;hp=496e9b9e47ab5df3abeae09e18017aab79a10000;hb=8e26fe35b671025c55641b6b9bdc04e516f408fc;hpb=5e2d1c41c90e747177da164e89af6d03adc0c17d diff --git a/src/effi.c b/src/effi.c index 496e9b9..8f68d50 100644 --- a/src/effi.c +++ b/src/effi.c @@ -1056,14 +1056,16 @@ object of the underlying type pointed to. SIGNAL_ERROR(Qwrong_type_argument, list2(Qfloatp, val)); *(double*)ptr = XFLOAT_DATA(val); } else if (EQ(val_type, Q_c_string)) { - char *tmp; + char *tmp = NULL; int tmplen; if (!STRINGP(val)) SIGNAL_ERROR(Qwrong_type_argument, list2(Qstringp, val)); #if defined(MULE) TO_EXTERNAL_FORMAT(LISP_STRING, val, ALLOCA, (tmp, tmplen), Qnil); - memcpy((char*)ptr, tmp, tmplen + 1); + if ( tmp != NULL ) { + memcpy((char*)ptr, tmp, tmplen + 1); + } #else memcpy((char*)ptr, (const char *)XSTRING_DATA(val),