]> diplodocus.org Git - nmh/blobdiff - uip/attach.c
Removed remaining run_prog's from tests that set an
[nmh] / uip / attach.c
index 3492d957eef78eba6faf5d260d2f65e95d056f35..6ded82eba00a247bd5981aa6ff3982d076026cc9 100644 (file)
 #include <h/utils.h>
 #include <h/tws.h>
 
 #include <h/utils.h>
 #include <h/tws.h>
 
-static int   get_line(void);
-static int   make_mime_composition_file_entry(char *, int, char *);
-
-static int     field_size;                             /* size of header field buffer */
-static char    *field;                                 /* header field buffer */
-static FILE    *draft_file;                            /* draft file pointer */
-static FILE    *composition_file;                      /* composition file pointer */
+static int   get_line(FILE *, char *, size_t);
+static int   make_mime_composition_file_entry(FILE *, char *, int, char *);
 
 int
 attach(char *attachment_header_field_name, char *draft_file_name,
 
 int
 attach(char *attachment_header_field_name, char *draft_file_name,
@@ -32,6 +27,11 @@ attach(char *attachment_header_field_name, char *draft_file_name,
     char               *p;                     /* miscellaneous string pointer */
     FILE               *fp;                    /* pointer for mhn.defaults */
     FILE               *body_file = NULL;      /* body file pointer */
     char               *p;                     /* miscellaneous string pointer */
     FILE               *fp;                    /* pointer for mhn.defaults */
     FILE               *body_file = NULL;      /* body file pointer */
+    FILE               *draft_file;            /* draft file pointer */
+    int                        field_size;             /* size of header field buffer */
+    char               *field;                 /* header field buffer */
+    FILE               *composition_file;      /* composition file pointer */
+
 
     /*
      * Open up the draft file.
 
     /*
      * Open up the draft file.
@@ -59,7 +59,8 @@ attach(char *attachment_header_field_name, char *draft_file_name,
 
     has_attachment = 0;
 
 
     has_attachment = 0;
 
-    while (get_line() != EOF && *field != '\0' && *field != '-') {
+    while (get_line(draft_file, field, field_size) != EOF && *field != '\0' &&
+           *field != '-') {
        if (strncasecmp(field, attachment_header_field_name, length) == 0 &&
            field[length] == ':') {
            for (p = field + length + 1; *p == ' ' || *p == '\t'; p++)
        if (strncasecmp(field, attachment_header_field_name, length) == 0 &&
            field[length] == ':') {
            for (p = field + length + 1; *p == ' ' || *p == '\t'; p++)
@@ -80,7 +81,7 @@ attach(char *attachment_header_field_name, char *draft_file_name,
 
     has_body = 0;
 
 
     has_body = 0;
 
-    while (get_line() != EOF) {
+    while (get_line(draft_file, field, field_size) != EOF) {
        for (p = field; *p != '\0'; p++) {
            if (*p != ' ' && *p != '\t') {
                has_body = 1;
        for (p = field; *p != '\0'; p++) {
            if (*p != ' ' && *p != '\t') {
                has_body = 1;
@@ -121,7 +122,8 @@ attach(char *attachment_header_field_name, char *draft_file_name,
 
     rewind(draft_file);
 
 
     rewind(draft_file);
 
-    while (get_line() != EOF && *field != '\0' && *field != '-')
+    while (get_line(draft_file, field, field_size) != EOF && *field != '\0' &&
+           *field != '-')
        if (strncasecmp(field, attachment_header_field_name, length) != 0 ||
             field[length] != ':')
            (void)fprintf(composition_file, "%s\n", field);
        if (strncasecmp(field, attachment_header_field_name, length) != 0 ||
             field[length] != ':')
            (void)fprintf(composition_file, "%s\n", field);
@@ -146,8 +148,8 @@ attach(char *attachment_header_field_name, char *draft_file_name,
      */
 
     if (has_body)
      */
 
     if (has_body)
-       if (make_mime_composition_file_entry(body_file_name, attachformat,
-                                            "text/plain")) {
+       if (make_mime_composition_file_entry(composition_file, body_file_name,
+                                            attachformat, "text/plain")) {
            clean_up_temporary_files(body_file_name, composition_file_name);
            adios (NULL, "exiting");
        }
            clean_up_temporary_files(body_file_name, composition_file_name);
            adios (NULL, "exiting");
        }
@@ -165,7 +167,8 @@ attach(char *attachment_header_field_name, char *draft_file_name,
 
     rewind(draft_file);
 
 
     rewind(draft_file);
 
-    while (get_line() != EOF && *field != '\0' && *field != '-') {
+    while (get_line(draft_file, field, field_size) != EOF && *field != '\0' &&
+           *field != '-') {
        if (strncasecmp(field, attachment_header_field_name, length) == 0 &&
             field[length] == ':') {
            for (p = field + length + 1; *p == ' ' || *p == '\t'; p++)
        if (strncasecmp(field, attachment_header_field_name, length) == 0 &&
             field[length] == ':') {
            for (p = field + length + 1; *p == ' ' || *p == '\t'; p++)
@@ -179,7 +182,9 @@ attach(char *attachment_header_field_name, char *draft_file_name,
                      /* Don't set the default content type so take
                         make_mime_composition_file_entry() will try
                         to infer it from the file type. */
                      /* Don't set the default content type so take
                         make_mime_composition_file_entry() will try
                         to infer it from the file type. */
-                       if (make_mime_composition_file_entry(p, attachformat, 0)) {
+                       if (make_mime_composition_file_entry(composition_file,
+                                                            p, attachformat,
+                                                            0)) {
                            clean_up_temporary_files(body_file_name,
                                                      composition_file_name);
                            adios (NULL, "exiting");
                            clean_up_temporary_files(body_file_name,
                                                      composition_file_name);
                            adios (NULL, "exiting");
@@ -223,10 +228,10 @@ clean_up_temporary_files(const char *body_file_name,
 }
 
 static int
 }
 
 static int
-get_line(void)
+get_line(FILE *draft_file, char *field, size_t field_size)
 {
     int                c;      /* current character */
 {
     int                c;      /* current character */
-    int                n;      /* number of bytes in buffer */
+    size_t     n;      /* number of bytes in buffer */
     char       *p;     /* buffer pointer */
 
     /*
     char       *p;     /* buffer pointer */
 
     /*
@@ -260,8 +265,8 @@ get_line(void)
 }
 
 static int
 }
 
 static int
-make_mime_composition_file_entry(char *file_name, int attachformat,
-                                 char *default_content_type)
+make_mime_composition_file_entry(FILE *composition_file, char *file_name,
+                                 int attachformat, char *default_content_type)
 {
     int                        binary;                 /* binary character found flag */
     int                        c;                      /* current character */
 {
     int                        binary;                 /* binary character found flag */
     int                        c;                      /* current character */