X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=ext%2FDynaLoader%2Fdl_aix.xs;h=c91a2fce2abe452a1fb0eab2d798ce16d4902e9c;hb=b09a11114be6edce50b92b1c65da7aba898fd577;hp=58dde5f99648172cee6ae008e888829e11ecc661;hpb=48c64e3e39f8ada65ba382d129d9a15be02ee5e0;p=p5sagit%2Fp5-mst-13.2.git diff --git a/ext/DynaLoader/dl_aix.xs b/ext/DynaLoader/dl_aix.xs index 58dde5f..c91a2fc 100644 --- a/ext/DynaLoader/dl_aix.xs +++ b/ext/DynaLoader/dl_aix.xs @@ -179,30 +179,13 @@ char *strerrorcat(char *str, int err) { int msgsiz; char *msg; -#ifdef USE_5005THREADS - char *buf = malloc(BUFSIZ); - - if (buf == 0) - return 0; - if (strerror_r(err, buf, BUFSIZ) == 0) - msg = buf; - else - msg = strerror_r_failed; - msgsiz = strlen(msg); - if (strsiz + msgsiz < BUFSIZ) - strcat(str, msg); - free(buf); -#else -# ifdef USE_ITHREADS dTHX; -# endif if ((msg = strerror(err)) == 0) msg = strerror_failed; msgsiz = strlen(msg); /* Note msg = buf and free() above. */ if (strsiz + msgsiz < BUFSIZ) /* Do not move this after #endif. */ strcat(str, msg); -#endif return str; } @@ -211,30 +194,13 @@ char *strerrorcpy(char *str, int err) { int msgsiz; char *msg; -#ifdef USE_5005THREADS - char *buf = malloc(BUFSIZ); - - if (buf == 0) - return 0; - if (strerror_r(err, buf, BUFSIZ) == 0) - msg = buf; - else - msg = strerror_r_failed; - msgsiz = strlen(msg); - if (msgsiz < BUFSIZ) - strcpy(str, msg); - free(buf); -#else -# ifdef USE_ITHREADS dTHX; -#endif if ((msg = strerror(err)) == 0) msg = strerror_failed; msgsiz = strlen(msg); /* Note msg = buf and free() above. */ if (msgsiz < BUFSIZ) /* Do not move this after #endif. */ strcpy(str, msg); -#endif return str; } @@ -262,7 +228,7 @@ void *dlopen(char *path, int mode) mp->refCnt++; return mp; } - Newz(1000,mp,1,Module); + Newxz(mp,1,Module); if (mp == NULL) { dl_errvalid++; strcpy(dl_errbuf, "Newz: "); @@ -602,7 +568,7 @@ static int readExports(ModulePtr mp) continue; mp->nExports++; } - Newz(1001, mp->exports, mp->nExports, Export); + Newxz(mp->exports, mp->nExports, Export); if (mp->exports == NULL) { dl_errvalid++; strcpy(dl_errbuf, "readExports: "); @@ -778,13 +744,14 @@ void dl_install_xsub(perl_name, symref, filename="$Package") char * perl_name void * symref - char * filename + const char * filename CODE: DLDEBUG(2,PerlIO_printf(Perl_debug_log, "dl_install_xsub(name=%s, symref=%x)\n", perl_name, symref)); - ST(0) = sv_2mortal(newRV((SV*)newXS(perl_name, - (void(*)(pTHX_ CV *))symref, - filename))); + ST(0) = sv_2mortal(newRV((SV*)newXS_flags(perl_name, + (void(*)(pTHX_ CV *))symref, + filename, NULL, + XS_DYNAMIC_FILENAME))); char *