git: ff2b1ffbb045 - main - bintrans: adjust mmencode.c to style(9)

From: Piotr Pawel Stefaniak <pstef_at_FreeBSD.org>
Date: Sun, 24 Apr 2022 06:24:23 UTC
The branch main has been updated by pstef:

URL: https://cgit.FreeBSD.org/src/commit/?id=ff2b1ffbb0454e23de374b0054b4bc06c81336a6

commit ff2b1ffbb0454e23de374b0054b4bc06c81336a6
Author:     Piotr Pawel Stefaniak <pstef@FreeBSD.org>
AuthorDate: 2022-04-15 13:00:36 +0000
Commit:     Piotr Pawel Stefaniak <pstef@FreeBSD.org>
CommitDate: 2022-04-24 06:19:49 +0000

    bintrans: adjust mmencode.c to style(9)
---
 usr.bin/bintrans/mmencode.c | 445 ++++++++++++++++++++++----------------------
 1 file changed, 224 insertions(+), 221 deletions(-)

diff --git a/usr.bin/bintrans/mmencode.c b/usr.bin/bintrans/mmencode.c
index 511e470150bb..a391f4d7e1d4 100644
--- a/usr.bin/bintrans/mmencode.c
+++ b/usr.bin/bintrans/mmencode.c
@@ -1,52 +1,53 @@
 /*
 Copyright (c) 1991 Bell Communications Research, Inc. (Bellcore)
 
-Permission to use, copy, modify, and distribute this material 
-for any purpose and without fee is hereby granted, provided 
-that the above copyright notice and this permission notice 
-appear in all copies, and that the name of Bellcore not be 
-used in advertising or publicity pertaining to this 
-material without the specific, prior written permission 
-of an authorized representative of Bellcore.  BELLCORE 
-MAKES NO REPRESENTATIONS ABOUT THE ACCURACY OR SUITABILITY 
-OF THIS MATERIAL FOR ANY PURPOSE.  IT IS PROVIDED "AS IS", 
+Permission to use, copy, modify, and distribute this material
+for any purpose and without fee is hereby granted, provided
+that the above copyright notice and this permission notice
+appear in all copies, and that the name of Bellcore not be
+used in advertising or publicity pertaining to this
+material without the specific, prior written permission
+of an authorized representative of Bellcore.  BELLCORE
+MAKES NO REPRESENTATIONS ABOUT THE ACCURACY OR SUITABILITY
+OF THIS MATERIAL FOR ANY PURPOSE.  IT IS PROVIDED "AS IS",
 WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES.
 */
+#include <stdbool.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
 #include <ctype.h>
 
-int PendingBoundary(s, Boundaries, BoundaryCt)
-char *s;
-char **Boundaries;
-int *BoundaryCt;
+static int
+PendingBoundary(char *s, char **Boundaries, int *BoundaryCt)
 {
-    int i, len;
+	int i;
+	size_t len;
 
-    if (s[0] != '-' || s[1] != '-') return(0);
+	if (s[0] != '-' || s[1] != '-')
+		return (0);
 
-
-    for (i=0; i < *BoundaryCt; ++i) {
-	len = strlen(Boundaries[i]);
-        if (!strncmp(s, Boundaries[i], len)) {
-            if (s[len] == '-' && s[len+1] == '-') *BoundaryCt = i;
-            return(1);
-        }
-    }
-    return(0);
+	for (i = 0; i < *BoundaryCt; ++i) {
+		len = strlen(Boundaries[i]);
+		if (strncmp(s, Boundaries[i], len) == 0) {
+			if (s[len] == '-' && s[len + 1] == '-')
+				*BoundaryCt = i;
+			return (1);
+		}
+	}
+	return (0);
 }
 
-static char basis_hex[] = "0123456789ABCDEF";
-static char index_hex[128] = {
-    -1,-1,-1,-1, -1,-1,-1,-1, -1,-1,-1,-1, -1,-1,-1,-1,
-    -1,-1,-1,-1, -1,-1,-1,-1, -1,-1,-1,-1, -1,-1,-1,-1,
-    -1,-1,-1,-1, -1,-1,-1,-1, -1,-1,-1,-1, -1,-1,-1,-1,
-     0, 1, 2, 3,  4, 5, 6, 7,  8, 9,-1,-1, -1,-1,-1,-1,
-    -1,10,11,12, 13,14,15,-1, -1,-1,-1,-1, -1,-1,-1,-1,
-    -1,-1,-1,-1, -1,-1,-1,-1, -1,-1,-1,-1, -1,-1,-1,-1,
-    -1,10,11,12, 13,14,15,-1, -1,-1,-1,-1, -1,-1,-1,-1,
-    -1,-1,-1,-1, -1,-1,-1,-1, -1,-1,-1,-1, -1,-1,-1,-1
+#define basis_hex "0123456789ABCDEF"
+static const char index_hex[128] = {
+	-1,-1,-1,-1, -1,-1,-1,-1, -1,-1,-1,-1, -1,-1,-1,-1,
+	-1,-1,-1,-1, -1,-1,-1,-1, -1,-1,-1,-1, -1,-1,-1,-1,
+	-1,-1,-1,-1, -1,-1,-1,-1, -1,-1,-1,-1, -1,-1,-1,-1,
+	 0, 1, 2, 3,  4, 5, 6, 7,  8, 9,-1,-1, -1,-1,-1,-1,
+	-1,10,11,12, 13,14,15,-1, -1,-1,-1,-1, -1,-1,-1,-1,
+	-1,-1,-1,-1, -1,-1,-1,-1, -1,-1,-1,-1, -1,-1,-1,-1,
+	-1,10,11,12, 13,14,15,-1, -1,-1,-1,-1, -1,-1,-1,-1,
+	-1,-1,-1,-1, -1,-1,-1,-1, -1,-1,-1,-1, -1,-1,-1,-1
 };
 
 /* The following version generated complaints on Solaris. */
@@ -54,201 +55,203 @@ static char index_hex[128] = {
 /*  Since we're no longer ever calling it with anything signed, this should work: */
 #define hexchar(c)  (((c) > 127) ? -1 : index_hex[(c)])
 
-void toqp(infile, outfile) 
-FILE *infile, *outfile;
+static void
+toqp(FILE *infile, FILE *outfile)
 {
-    int c, ct=0, prevc=255;
-    while ((c = getc(infile)) != EOF) {
-        if ((c < 32 && (c != '\n' && c != '\t'))
-             || (c == '=')
-             || (c >= 127)
-             /* Following line is to avoid single periods alone on lines,
-               which messes up some dumb smtp implementations, sigh... */
-             || (ct == 0 && c == '.')) {
-            putc('=', outfile);
-            putc(basis_hex[c>>4], outfile);
-            putc(basis_hex[c&0xF], outfile);
-            ct += 3;
-            prevc = 'A'; /* close enough */
-        } else if (c == '\n') {
-            if (prevc == ' ' || prevc == '\t') {
-                putc('=', outfile); /* soft & hard lines */
-                putc(c, outfile);
-            }
-            putc(c, outfile);
-            ct = 0;
-            prevc = c;
-        } else {
-            if (c == 'F' && prevc == '\n') {
-                /* HORRIBLE but clever hack suggested by MTR for sendmail-avoidance */
-                c = getc(infile);
-                if (c == 'r') {
-                    c = getc(infile);
-                    if (c == 'o') {
-                        c = getc(infile);
-                        if (c == 'm') {
-                            c = getc(infile);
-                            if (c == ' ') {
-                                /* This is the case we are looking for */
-                                fputs("=46rom", outfile);
-                                ct += 6;
-                            } else {
-                                fputs("From", outfile);
-                                ct += 4;
-                            }
-                        } else {
-                            fputs("Fro", outfile);
-                            ct += 3;
-                        }
-                    } else {
-                        fputs("Fr", outfile);
-                        ct += 2;
-                    }
-                } else {
-                    putc('F', outfile);
-                    ++ct;
-                }
-                ungetc(c, infile);
-                prevc = 'x'; /* close enough -- printable */
-            } else { /* END horrible hack */
-                putc(c, outfile);
-                ++ct;
-                prevc = c;
-            }
-        }
-        if (ct > 72) {
-            putc('=', outfile);
-            putc('\n', outfile);
-            ct = 0;
-            prevc = '\n';
-        }
-    }
-    if (ct) {
-        putc('=', outfile);
-        putc('\n', outfile);
-    }
+	int c, ct = 0, prevc = 255;
+
+	while ((c = getc(infile)) != EOF) {
+		if ((c < 32 && (c != '\n' && c != '\t'))
+			 || (c == '=')
+			 || (c >= 127)
+			 /* Following line is to avoid single periods alone on lines,
+			   which messes up some dumb smtp implementations, sigh... */
+			 || (ct == 0 && c == '.')) {
+			putc('=', outfile);
+			putc(basis_hex[c >> 4], outfile);
+			putc(basis_hex[c & 0xF], outfile);
+			ct += 3;
+			prevc = 'A'; /* close enough */
+		} else if (c == '\n') {
+			if (prevc == ' ' || prevc == '\t') {
+				putc('=', outfile); /* soft & hard lines */
+				putc(c, outfile);
+			}
+			putc(c, outfile);
+			ct = 0;
+			prevc = c;
+		} else {
+			if (c == 'F' && prevc == '\n') {
+				/* HORRIBLE but clever hack suggested by MTR for sendmail-avoidance */
+				c = getc(infile);
+				if (c == 'r') {
+					c = getc(infile);
+					if (c == 'o') {
+						c = getc(infile);
+						if (c == 'm') {
+							c = getc(infile);
+							if (c == ' ') {
+								/* This is the case we are looking for */
+								fputs("=46rom", outfile);
+								ct += 6;
+							} else {
+								fputs("From", outfile);
+								ct += 4;
+							}
+						} else {
+							fputs("Fro", outfile);
+							ct += 3;
+						}
+					} else {
+						fputs("Fr", outfile);
+						ct += 2;
+					}
+				} else {
+					putc('F', outfile);
+					++ct;
+				}
+				ungetc(c, infile);
+				prevc = 'x'; /* close enough -- printable */
+			} else { /* END horrible hack */
+				putc(c, outfile);
+				++ct;
+				prevc = c;
+			}
+		}
+		if (ct > 72) {
+			putc('=', outfile);
+			putc('\n', outfile);
+			ct = 0;
+			prevc = '\n';
+		}
+	}
+	if (ct) {
+		putc('=', outfile);
+		putc('\n', outfile);
+	}
 }
 
-void fromqp(infile, outfile, boundaries, boundaryct) 
-FILE *infile, *outfile;
-char **boundaries;
-int *boundaryct;
+static void
+fromqp(FILE *infile, FILE *outfile, char **boundaries, int *boundaryct)
 {
-    unsigned int c1, c2;
-    int sawnewline = 1, neednewline = 0;
-    /* The neednewline hack is necessary because the newline leading into 
-      a multipart boundary is part of the boundary, not the data */
+	int c1, c2;
+	bool sawnewline = true, neednewline = false;
+	/* The neednewline hack is necessary because the newline leading into
+	  a multipart boundary is part of the boundary, not the data */
 
-    while ((c1 = getc(infile)) != EOF) {
-        if (sawnewline && boundaries && (c1 == '-')) {
-            char Buf[200];
-            unsigned char *s;
+	while ((c1 = getc(infile)) != EOF) {
+		if (sawnewline && boundaries && c1 == '-') {
+			char Buf[200];
+			unsigned char *s;
 
-            ungetc(c1, infile);
-            fgets(Buf, sizeof(Buf), infile);
-            if (boundaries
-                 && (Buf[0] == '-')
-                 && (Buf[1] == '-')
-                 && PendingBoundary(Buf, boundaries, boundaryct)) {
-                return;
-            }
-            /* Not a boundary, now we must treat THIS line as q-p, sigh */
-            if (neednewline) {
-                putc('\n', outfile);
-                neednewline = 0;
-            }
-            for (s=(unsigned char *) Buf; *s; ++s) {
-                if (*s == '=') {
-                    if (!*++s) break;
-                    if (*s == '\n') {
-                        /* ignore it */
-                        sawnewline = 1;
-                    } else {
-                        c1 = hexchar(*s);
-                        if (!*++s) break;
-                        c2 = hexchar(*s);
-                        putc(c1<<4 | c2, outfile);
-                    }
-                } else {
-                    putc(*s, outfile);
-                }
-            }
-        } else {
-            if (neednewline) {
-                putc('\n', outfile);
-                neednewline = 0;
-            }
-            if (c1 == '=') {
-                sawnewline = 0;
-                c1 = getc(infile);
-                if (c1 == '\n') {
-                    /* ignore it */
-                    sawnewline = 1;
-                } else {
-                    c2 = getc(infile);
-                    c1 = hexchar(c1);
-                    c2 = hexchar(c2);
-                    putc(c1<<4 | c2, outfile);
-                    if (c2 == '\n') sawnewline = 1;
-                }
-            } else {
-                if (c1 == '\n') {
-                    sawnewline = 1;
-                    neednewline = 1;
-                } else {
-                    sawnewline = 0;
-                    putc(c1, outfile);
-                }
-            }
-        }
-    }
-    if (neednewline) {
-        putc('\n', outfile);
-        neednewline = 0;
-    }    
+			ungetc(c1, infile);
+			fgets(Buf, sizeof(Buf), infile);
+			if (boundaries
+				 && Buf[0] == '-'
+				 && Buf[1] == '-'
+				 && PendingBoundary(Buf, boundaries, boundaryct)) {
+				return;
+			}
+			/* Not a boundary, now we must treat THIS line as q-p, sigh */
+			if (neednewline) {
+				putc('\n', outfile);
+				neednewline = false;
+			}
+			for (s = (unsigned char *)Buf; *s; ++s) {
+				if (*s == '=') {
+					if (*++s == 0)
+						break;
+					if (*s == '\n') {
+						/* ignore it */
+						sawnewline = true;
+					} else {
+						c1 = hexchar(*s);
+						if (*++s == 0)
+							break;
+						c2 = hexchar(*s);
+						putc(c1 << 4 | c2, outfile);
+					}
+				} else {
+					putc(*s, outfile);
+				}
+			}
+		} else {
+			if (neednewline) {
+				putc('\n', outfile);
+				neednewline = false;
+			}
+			if (c1 == '=') {
+				sawnewline = false;
+				c1 = getc(infile);
+				if (c1 == '\n') {
+					/* ignore it */
+					sawnewline = true;
+				} else {
+					c2 = getc(infile);
+					c1 = hexchar(c1);
+					c2 = hexchar(c2);
+					putc(c1 << 4 | c2, outfile);
+					if (c2 == '\n')
+						sawnewline = true;
+				}
+			} else {
+				if (c1 == '\n') {
+					sawnewline = true;
+					neednewline = true;
+				} else {
+					sawnewline = false;
+					putc(c1, outfile);
+				}
+			}
+		}
+	}
+	if (neednewline) {
+		putc('\n', outfile);
+		neednewline = false;
+	}
 }
 
-#define QP 2 /* quoted-printable */
-
-int main(argc, argv)
-int argc;
-char **argv;
+int
+main(int argc, char *argv[])
 {
-    int encode = 1, i;
-    FILE *fp = stdin;
-    FILE *fpo = stdout;
+	int i;
+	bool encode = true;
+	FILE *fp = stdin;
+	FILE *fpo = stdout;
 
-    for (i=1; i<argc; ++i) {
-        if (argv[i][0] == '-') {
-	    switch (argv[i][1]) {
-		case 'o':
-		    if (++i >= argc) {
-			fprintf(stderr, "mimencode: -o requires a file name.\n");
-			exit(-1);
-		    }
-		    fpo = fopen(argv[i], "w");
-		    if (!fpo) {
-			perror(argv[i]);
-			exit(-1);
-		    }
-		    break;
-                case 'u':
-                    encode = 0;
-                    break;
-		default:
-                    fprintf(stderr,
-                       "Usage: mmencode [-u] [-o outputfile] [file name]\n");
-                    exit(-1);
-            }
-        } else {
-            fp = fopen(argv[i], "r");
-            if (!fp) {
-                perror(argv[i]);
-                exit(-1);
-            }
-        }
-    }
-    if (encode) toqp(fp, fpo); else fromqp(fp, fpo, NULL, 0);
-    return(0);
+	for (i = 1; i < argc; ++i) {
+		if (argv[i][0] == '-') {
+			switch (argv[i][1]) {
+			case 'o':
+				if (++i >= argc) {
+					fprintf(stderr, "mimencode: -o requires a file name.\n");
+					exit(EXIT_FAILURE);
+				}
+				fpo = fopen(argv[i], "w");
+				if (fpo == NULL) {
+					perror(argv[i]);
+					exit(EXIT_FAILURE);
+				}
+				break;
+			case 'u':
+				encode = false;
+				break;
+			default:
+				fprintf(stderr,
+				   "Usage: mmencode [-u] [-o outputfile] [file name]\n");
+				exit(EXIT_FAILURE);
+			}
+		} else {
+			fp = fopen(argv[i], "r");
+			if (fp == NULL) {
+				perror(argv[i]);
+				exit(EXIT_FAILURE);
+			}
+		}
+	}
+	if (encode)
+		toqp(fp, fpo);
+	else
+		fromqp(fp, fpo, NULL, 0);
+	return (0);
 }
-