Module Name: src
Committed By: joerg
Date: Sun Sep 4 20:26:17 UTC 2011
Modified Files:
src/usr.bin/fpr: fpr.c
Log Message:
Use static, change deep if / else if / ... chains to switch(), apply
__dead, ANSIfy.
To generate a diff of this commit:
cvs rdiff -u -r1.8 -r1.9 src/usr.bin/fpr/fpr.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/usr.bin/fpr/fpr.c
diff -u src/usr.bin/fpr/fpr.c:1.8 src/usr.bin/fpr/fpr.c:1.9
--- src/usr.bin/fpr/fpr.c:1.8 Mon Jul 21 14:19:22 2008
+++ src/usr.bin/fpr/fpr.c Sun Sep 4 20:26:17 2011
@@ -1,4 +1,4 @@
-/* $NetBSD: fpr.c,v 1.8 2008/07/21 14:19:22 lukem Exp $ */
+/* $NetBSD: fpr.c,v 1.9 2011/09/04 20:26:17 joerg Exp $ */
/*
* Copyright (c) 1989, 1993
@@ -42,7 +42,7 @@
#if 0
static char sccsid[] = "@(#)fpr.c 8.1 (Berkeley) 6/6/93";
#endif
-__RCSID("$NetBSD: fpr.c,v 1.8 2008/07/21 14:19:22 lukem Exp $");
+__RCSID("$NetBSD: fpr.c,v 1.9 2011/09/04 20:26:17 joerg Exp $");
#endif /* not lint */
#include <err.h>
@@ -73,114 +73,110 @@
}
COLUMN;
-char cc;
-char saved;
-int length;
-char *text;
-int highcol;
-COLUMN *line;
-int maxpos;
-int maxcol;
-
-void flush __P((void));
-void get_text __P((void));
-void init __P((void));
-int main __P((int, char **));
-void nospace __P((void));
-void savech __P((int));
+static char cc;
+static char saved;
+static int length;
+static char *text;
+static int highcol;
+static COLUMN *line;
+static int maxpos;
+static int maxcol;
+
+static void flush(void);
+static void get_text(void);
+static void init(void);
+__dead static void nospace(void);
+static void savech(int);
int
-main(argc, argv)
- int argc;
- char **argv;
+main(int argc, char **argv)
{
int ch;
char ateof;
int i;
int errorcount;
-
init();
errorcount = 0;
ateof = FALSE;
- ch = getchar();
- if (ch == EOF)
+ switch (ch = getchar()) {
+ case EOF:
exit(0);
-
- if (ch == EOL) {
+ case EOL:
cc = NUL;
ungetc((int) EOL, stdin);
- } else
- if (ch == BLANK)
- cc = NUL;
- else
- if (ch == '1')
- cc = FF;
- else
- if (ch == '0')
- cc = EOL;
- else
- if (ch == '+')
- cc = CR;
- else {
- errorcount = 1;
- cc = NUL;
- ungetc(ch, stdin);
- }
+ break;
+ case BLANK:
+ cc = NUL;
+ break;
+ case '1':
+ cc = FF;
+ break;
+ case '0':
+ cc = EOL;
+ break;
+ case '+':
+ cc = CR;
+ break;
+ default:
+ errorcount = 1;
+ cc = NUL;
+ ungetc(ch, stdin);
+ break;
+ }
while (!ateof) {
get_text();
- ch = getchar();
- if (ch == EOF) {
+ switch (ch = getchar()) {
+ case EOF:
flush();
ateof = TRUE;
- } else
- if (ch == EOL) {
- flush();
- cc = NUL;
- ungetc((int) EOL, stdin);
- } else
- if (ch == BLANK) {
- flush();
- cc = NUL;
- } else
- if (ch == '1') {
- flush();
- cc = FF;
- } else
- if (ch == '0') {
- flush();
- cc = EOL;
- } else
- if (ch == '+') {
- for (i = 0; i < length; i++)
- savech(i);
- } else {
- errorcount++;
- flush();
- cc = NUL;
- ungetc(ch, stdin);
- }
+ break;
+ case EOL:
+ flush();
+ cc = NUL;
+ ungetc((int) EOL, stdin);
+ break;
+ case BLANK:
+ flush();
+ cc = NUL;
+ break;
+ case '1':
+ flush();
+ cc = FF;
+ break;
+ case '0':
+ flush();
+ cc = EOL;
+ break;
+ case '+':
+ for (i = 0; i < length; i++)
+ savech(i);
+ break;
+ default:
+ errorcount++;
+ flush();
+ cc = NUL;
+ ungetc(ch, stdin);
+ break;
+ }
}
- if (errorcount == 1)
- fprintf(stderr, "Illegal carriage control - 1 line.\n");
- else
- if (errorcount > 1)
- fprintf(stderr, "Illegal carriage control - %d lines.\n", errorcount);
+ if (errorcount)
+ fprintf(stderr, "Illegal carriage control - %d line%s.\n",
+ errorcount, errorcount == 1 ? "" : "s");
exit(0);
}
-void
-init()
+static void
+init(void)
{
COLUMN *cp;
COLUMN *cend;
char *sp;
-
length = 0;
maxpos = MAXCOL;
sp = malloc((unsigned) maxpos);
@@ -190,14 +186,14 @@
highcol = -1;
maxcol = MAXCOL;
- line = (COLUMN *) calloc(maxcol, (unsigned) sizeof(COLUMN));
+ line = calloc(maxcol, sizeof(COLUMN));
if (line == NULL)
nospace();
cp = line;
cend = line + (maxcol - 1);
while (cp <= cend) {
cp->width = INITWIDTH;
- sp = calloc(INITWIDTH, (unsigned) sizeof(char));
+ sp = calloc(INITWIDTH, sizeof(char));
if (sp == NULL)
nospace();
cp->str = sp;
@@ -205,8 +201,8 @@
}
}
-void
-get_text()
+static void
+get_text(void)
{
int i;
char ateol;
@@ -218,58 +214,61 @@
ateol = FALSE;
while (!ateol) {
- ch = getchar();
- if (ch == EOL || ch == EOF)
+ switch (ch = getchar()) {
+ case EOL:
+ case EOF:
ateol = TRUE;
- else
- if (ch == TAB) {
- pos = (1 + i / TABSIZE) * TABSIZE;
- if (pos > maxpos) {
- n = realloc(text, (unsigned)(pos + 10));
- if (n == NULL)
- nospace();
- text = n;
- maxpos = pos + 10;
- }
- while (i < pos) {
- text[i] = BLANK;
- i++;
- }
- } else
- if (ch == BS) {
- if (i > 0) {
- i--;
- savech(i);
- }
- } else
- if (ch == CR) {
- while (i > 0) {
- i--;
- savech(i);
- }
- } else
- if (ch == FF || ch == VTAB) {
- flush();
- cc = ch;
- i = 0;
- } else {
- if (i >= maxpos) {
- n = realloc(text, (unsigned)(i + 10));
- if (n == NULL)
- nospace();
- maxpos = i + 10;
- }
- text[i] = ch;
- i++;
- }
+ break;
+ case TAB:
+ pos = (1 + i / TABSIZE) * TABSIZE;
+ if (pos > maxpos) {
+ n = realloc(text, (unsigned)(pos + 10));
+ if (n == NULL)
+ nospace();
+ text = n;
+ maxpos = pos + 10;
+ }
+ while (i < pos) {
+ text[i] = BLANK;
+ i++;
+ }
+ break;
+ case BS:
+ if (i > 0) {
+ i--;
+ savech(i);
+ }
+ break;
+ case CR:
+ while (i > 0) {
+ i--;
+ savech(i);
+ }
+ break;
+ case FF:
+ case VTAB:
+ flush();
+ cc = ch;
+ i = 0;
+ break;
+ default:
+ if (i >= maxpos) {
+ n = realloc(text, (unsigned)(i + 10));
+ if (n == NULL)
+ nospace();
+ maxpos = i + 10;
+ }
+ text[i] = ch;
+ i++;
+ break;
+ }
}
length = i;
}
-void
-savech(col)
- int col;
+static void
+savech(int col)
{
char ch;
int oldmax;
@@ -289,8 +288,7 @@
highcol = col;
if (col >= maxcol) {
- newline = (COLUMN *) realloc(line,
- (unsigned) (col + 10) * sizeof(COLUMN));
+ newline = realloc(line, (unsigned) (col + 10) * sizeof(COLUMN));
if (newline == NULL)
nospace();
line = newline;
@@ -301,7 +299,7 @@
while (cp <= cend) {
cp->width = INITWIDTH;
cp->count = 0;
- sp = calloc(INITWIDTH, (unsigned) sizeof(char));
+ sp = calloc(INITWIDTH, sizeof(char));
if (sp == NULL)
nospace();
cp->str = sp;
@@ -321,8 +319,8 @@
cp->str[newcount - 1] = ch;
}
-void
-flush()
+static void
+flush(void)
{
int i;
int anchor;
@@ -351,31 +349,30 @@
if (height == 0) {
putchar(BLANK);
anchor++;
- } else
- if (height == 1) {
- putchar(*(line[anchor].str));
- line[anchor].count = 0;
- anchor++;
- } else {
- i = anchor;
- while (i < highcol && line[i + 1].count > 1)
- i++;
- for (j = anchor; j <= i; j++) {
- height = line[j].count - 1;
- putchar(line[j].str[height]);
- line[j].count = height;
- }
- for (j = anchor; j <= i; j++)
- putchar(BS);
+ } else if (height == 1) {
+ putchar(*(line[anchor].str));
+ line[anchor].count = 0;
+ anchor++;
+ } else {
+ i = anchor;
+ while (i < highcol && line[i + 1].count > 1)
+ i++;
+ for (j = anchor; j <= i; j++) {
+ height = line[j].count - 1;
+ putchar(line[j].str[height]);
+ line[j].count = height;
}
+ for (j = anchor; j <= i; j++)
+ putchar(BS);
+ }
}
putchar(EOL);
highcol = -1;
}
-void
-nospace()
+static void
+nospace(void)
{
errx(1, "Storage limit exceeded.");
}