- /* TODO: improve the code */
- strncat(buffer, " ", sizeof(buffer)-strlen(buffer)-1);
- strncat(buffer, m_name(msgnum),
- sizeof(buffer)-strlen(buffer)-1);
+ if (strlen(buf) + 1 + strlen(m_name(msgnum)) + 1
+ > sizeof buf) {
+ adios(EX_DATAERR, NULL, "Attachment header line too long. "
+ "Forward less messages.");
+ }
+ strcat(buf, " ");
+ strcat(buf, m_name(msgnum));
+ }
+ vec[vecp++] = buf;
+ vec[vecp] = NULL;
+ if (execprog(*vec, vec) != 0) {
+ advise(NULL, "unable to add attachment header");