]> diplodocus.org Git - nmh/blobdiff - uip/mhoutsbr.c
Deprecated msh(1).
[nmh] / uip / mhoutsbr.c
index 92352539e5534c045a127d6b047ab8ea63eb7675..57a5df93db59fa6a9320789d7fa5f28bddc46885 100644 (file)
@@ -3,8 +3,6 @@
  * mhoutsbr.c -- routines to output MIME messages
  *            -- given a Content structure
  *
- * $Id$
- *
  * This code is Copyright (c) 2002, by the authors of nmh.  See the
  * COPYRIGHT file in the root directory of the nmh distribution for
  * complete copyright information.
 #include <h/mime.h>
 #include <h/mhparse.h>
 
-#ifdef HAVE_SYS_WAIT_H
-# include <sys/wait.h>
-#endif
-
-
-extern int ebcdicsw;
-
-static char ebcdicsafe[0x100] = {
-    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-    0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
-    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-    0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01,
-    0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-    0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-    0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-    0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-    0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-    0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-    0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01,
-    0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-    0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-    0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-    0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
-    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-};
-
-static char nib2b64[0x40+1] =
-       "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
 
 /*
  * prototypes
  */
 int output_message (CT, char *);
 int output_message_fp (CT, FILE *, char *);
-int writeBase64aux (FILE *, FILE *);
 
 /*
  * static prototypes
@@ -81,7 +34,7 @@ static void output_headers (CT, FILE *);
 static int writeExternalBody (CT, FILE *);
 static int write8Bit (CT, FILE *);
 static int writeQuoted (CT, FILE *);
-static int writeBase64 (CT, FILE *);
+static int writeBase64ct (CT, FILE *);
 
 
 /*
@@ -205,7 +158,7 @@ output_content (CT ct, FILE *out)
 
        case CE_BASE64:
            putc ('\n', out);
-           result = writeBase64 (ct, out);
+           result = writeBase64ct (ct, out);
            break;
 
        case CE_BINARY:
@@ -382,8 +335,7 @@ writeQuoted (CT ct, FILE *out)
                    break;
 
                default:
-                   if (*cp < '!' || *cp > '~'
-                           || (ebcdicsw && !ebcdicsafe[*cp & 0xff]))
+                   if (*cp < '!' || *cp > '~')
                        goto three_print;
                    putc (*cp, out);
                    n++;
@@ -417,7 +369,7 @@ three_print:
  */
 
 static int
-writeBase64 (CT ct, FILE *out)
+writeBase64ct (CT ct, FILE *out)
 {
     int        fd, result;
     char *file;
@@ -431,51 +383,3 @@ writeBase64 (CT ct, FILE *out)
     (*ct->c_ceclosefnx) (ct);
     return result;
 }
-
-
-int
-writeBase64aux (FILE *in, FILE *out)
-{
-    int        cc, n;
-    char inbuf[3];
-
-    n = BPERLIN;
-    while ((cc = fread (inbuf, sizeof(*inbuf), sizeof(inbuf), in)) > 0) {
-       unsigned long bits;
-       char *bp;
-       char outbuf[4];
-
-       if (cc < sizeof(inbuf)) {
-           inbuf[2] = 0;
-           if (cc < sizeof(inbuf) - 1)
-               inbuf[1] = 0;
-       }
-       bits = (inbuf[0] & 0xff) << 16;
-       bits |= (inbuf[1] & 0xff) << 8;
-       bits |= inbuf[2] & 0xff;
-
-       for (bp = outbuf + sizeof(outbuf); bp > outbuf; bits >>= 6)
-           *--bp = nib2b64[bits & 0x3f];
-       if (cc < sizeof(inbuf)) {
-           outbuf[3] = '=';
-           if (cc < sizeof inbuf - 1)
-               outbuf[2] = '=';
-       }
-
-       fwrite (outbuf, sizeof(*outbuf), sizeof(outbuf), out);
-
-       if (cc < sizeof(inbuf)) {
-           putc ('\n', out);
-           return OK;
-       }
-
-       if (--n <= 0) {
-           n = BPERLIN;
-           putc ('\n', out);
-       }
-    }
-    if (n != BPERLIN)
-       putc ('\n', out);
-
-    return OK;
-}