*/
int
-sendsbr (char **vec, int vecp, char *program, char *drft, struct stat *st,
+sendsbr (char **vec, int vecp, char *program, char *draft, struct stat *st,
int rename_drft)
{
int status, i;
char buffer[BUFSIZ], file[BUFSIZ];
struct stat sts;
char **buildvec, *buildprogram;
+ volatile char *drft = draft;
/*
* Run the mimebuildproc (which is by default mhbuild) on the message
buildvec[i++] = "-auto";
if (distfile)
buildvec[i++] = "-dist";
- buildvec[i++] = drft;
+ buildvec[i++] = (char *) drft;
buildvec[i] = NULL;
execvp(buildprogram, buildvec);
fprintf(stderr, "unable to exec ");
* rename the draft file. I'm not quite sure why.
*/
if (pushsw && unique) {
- char *cp = m_mktemp2(drft, invo_name, NULL, NULL);
+ char *cp = m_mktemp2((char *) drft, invo_name, NULL, NULL);
if (cp == NULL) {
adios ("sendsbr", "unable to create temporary file");
}
- if (rename (drft, strncpy(file, cp, sizeof(file))) == NOTOK)
+ if (rename ((char *) drft,
+ strncpy(file, cp, sizeof(file))) == NOTOK)
adios (file, "unable to rename %s to", drft);
drft = file;
}
* Check if we need to split the message into
* multiple messages of type "message/partial".
*/
- if (splitsw >= 0 && !distfile && stat (drft, &sts) != NOTOK
+ if (splitsw >= 0 && !distfile && stat ((char *) drft, &sts) != NOTOK
&& sts.st_size >= CPERMSG) {
- status = splitmsg (vec, vecp, program, drft, st, splitsw) ? NOTOK : OK;
+ status = splitmsg (vec, vecp, program, (char *) drft,
+ st, splitsw) ? NOTOK : OK;
} else {
- status = sendaux (vec, vecp, program, drft, st) ? NOTOK : OK;
+ status = sendaux (vec, vecp, program, (char *) drft,
+ st) ? NOTOK : OK;
}
/* rename the original draft */
if (rename_drft && status == OK &&
- rename (drft, strncpy (buffer, m_backup (drft), sizeof(buffer))) == NOTOK)
- advise (buffer, "unable to rename %s to", drft);
+ rename ((char *) drft,
+ strncpy (buffer, m_backup ((char *) drft),
+ sizeof(buffer))) == NOTOK)
+ advise (buffer, "unable to rename %s to", (char *) drft);
break;
default:
static int sendfile (char **, char *, int);
static void sendit (char *, char **, char *, int);
static int buildfile (char **, char *);
-static int check_draft (char *);
static int whomfile (char **, char *);
static int removefile (char *);
static void writelscmd(char *, int, char *, char **);
}
-/*
- * Check if draft is a mhbuild composition file
- */
-
-static int
-check_draft (char *msgnam)
-{
- int state;
- char buf[BUFSIZ], name[NAMESZ];
- FILE *fp;
- m_getfld_state_t gstate = 0;
-
- if ((fp = fopen (msgnam, "r")) == NULL)
- return 0;
- for (;;) {
- int bufsz = sizeof buf;
- switch (state = m_getfld (&gstate, name, buf, &bufsz, fp)) {
- case FLD:
- case FLDPLUS:
- /*
- * If draft already contains any of the
- * Content-XXX fields, then assume it already
- * been converted.
- */
- if (uprf (name, XXX_FIELD_PRF)) {
- fclose (fp);
- m_getfld_state_destroy (&gstate);
- return 0;
- }
- while (state == FLDPLUS) {
- bufsz = sizeof buf;
- state = m_getfld (&gstate, name, buf, &bufsz, fp);
- }
- break;
-
- case BODY:
- do {
- char *bp;
-
- for (bp = buf; *bp; bp++)
- if (*bp != ' ' && *bp != '\t' && *bp != '\n') {
- fclose (fp);
- m_getfld_state_destroy (&gstate);
- return 1;
- }
-
- bufsz = sizeof buf;
- state = m_getfld (&gstate, name, buf, &bufsz, fp);
- } while (state == BODY);
- /* and fall... */
-
- default:
- fclose (fp);
- m_getfld_state_destroy (&gstate);
- return 0;
- }
- }
-}
-
-
#ifndef CYRUS_SASL
# define SASLminc(a) (a)
#else /* CYRUS_SASL */