FileList fl, const char ** fileName)
{
char *s, *t;
- int res, specialDoc = 0;
- char specialDocBuf[BUFSIZ];
+ int res;
+ char *specialDocBuf = NULL;
- specialDocBuf[0] = '\0';
*fileName = NULL;
res = RPMRC_OK;
if (*s != '/') {
if (fl->currentFlags & RPMFILE_DOC) {
- specialDoc = 1;
- strcat(specialDocBuf, " ");
- strcat(specialDocBuf, s);
+ rstrscat(&specialDocBuf, " ", s, NULL);
} else
if (fl->currentFlags & (RPMFILE_POLICY|RPMFILE_PUBKEY|RPMFILE_ICON))
{
}
}
- if (specialDoc) {
+ if (specialDocBuf) {
if (*fileName || (fl->currentFlags & ~(RPMFILE_DOC))) {
rpmlog(RPMLOG_ERR,
_("Can't mix special %%doc with other forms: %s\n"),
appendStringBuf(pkg->specialDoc, specialDocBuf);
appendLineStringBuf(pkg->specialDoc, " $DOCDIR");
}
+ free(specialDocBuf);
}
if (res != RPMRC_OK) {