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
dTHX;
if ((msg = strerror(err)) == 0)
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;
}
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
dTHX;
if ((msg = strerror(err)) == 0)
msgsiz = strlen(msg); /* Note msg = buf and free() above. */
if (msgsiz < BUFSIZ) /* Do not move this after #endif. */
strcpy(str, msg);
-#endif
return str;
}
mp->refCnt++;
return mp;
}
- Newz(1000,mp,1,Module);
+ Newxz(mp,1,Module);
if (mp == NULL) {
dl_errvalid++;
strcpy(dl_errbuf, "Newz: ");
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: ");
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 *