2009-08-19 Peter Breitenlohner * vlna.c: Use ANSI C function definitions, all static except main. diff -ur vlna-1.5.orig/vlna.w vlna-1.5/vlna.w --- vlna-1.5.orig/vlna.w 2010-02-01 22:52:15.000000000 +0100 +++ vlna-1.5/vlna.w 2011-05-02 15:58:47.000000000 +0200 @@ -59,9 +59,7 @@ @ Základní rozvržení funkce |main|. @= -int main (argc,argv) - int argc; - char **argv; +int main (int argc, char **argv) { @; prog_name=argv[0]; status = OK; @@ -112,7 +110,7 @@ kulturně dlouhý string obsahující \.{\char92n} s formátovacími požadavky. Byl jsem nucen to takto nehezky zapsat. @= -void printusage () +static void printusage (void) { fprintf(stderr, "usage: vlna [opt] [filenames]\n" @@ -204,8 +202,7 @@ @ Definujeme funkci pro výpis chybového hlášení při neúspěšném otevření souboru. @= -void ioerr (f) - char *f; +static void ioerr (char *f) { fprintf(stderr, "%s: cannot open file %s\n", prog_name, f); } @@ -335,7 +332,7 @@ } PATITEM; typedef struct PATTERN { /* jeden pattern */ PATITEM *patt; /* ukazatel na prvni pozici */ - void (*proc)(); /* procedura spustena pri souhlasu patternu */ + void (*proc)(void); /* procedura spustena pri souhlasu patternu */ struct PATTERN *next ; /* nasledujici v seznamu vsech patternu */ } PATTERN; @@ -407,8 +404,7 @@ ohlídat případnou chybu při alokaci, budeme allokovat paměť zprostředkovaně pomocí funkce |myalloc|. @= -void *myalloc (size) - int size; +static void *myalloc (int size) { void *p; p = malloc (size); @@ -425,8 +421,7 @@ Vrátí ukazatel na nově alokované místo. Jednotlivé pozice patternu se musí následovně alokovat pomocí |setpi|. @= -PATTERN *setpattern (proc) @/ - void (*proc)(); +static PATTERN *setpattern (void (*proc)(void)) { PATTERN *pp; pp = myalloc (sizeof (PATTERN)); @@ -444,9 +439,7 @@ |patt| ve struktuře |PATTERN| a další byly provázány položkou |next| ve struktuře |PATITEM|. Poslední pozice má |next==NULL|. @= -void setpi (str, flag) - char *str; - int flag; +static void setpi (char *str, int flag) { PATITEM* p; p = myalloc (sizeof (PATITEM)); @@ -479,9 +472,7 @@ @ Definujme funkci |normalpattern|. @= -PATTERN *normalpattern (proc, str) @/ - void (*proc)(); - char *str; +static PATTERN *normalpattern (void (*proc)(void), char *str) { PATTERN *pp; int j=0; @@ -517,8 +508,7 @@ @d FOUND -1 @d NOFOUND -2 @= -int match (p) - PATITEM *p; +static int match (PATITEM *p) { int m; if (strchr (p->str, c) != NULL) m = 1; /* Znak nalezen */ @@ -565,8 +555,7 @@ implementovat jen přepínání mezi stavem čtení z oblasti komentáře (|listpatt==commentlist|) a mimo komentář (|listpatt==normallist|); @= -void tie (input, output) - FILE *input, *output; +static void tie (FILE *input, FILE *output) { int ap; /* ap je pocet otevrenych patternu */ register int k, m, n; @@ -736,7 +725,7 @@ neboli vlnku. Nakonec připojíme zapamatovaný znak |p|, ovšem pokud před ním byla nula, vložíme ji ještě před znak |p|. @= -void vlnkain() +static void vlnkain(void) { int i; char p, z; @@ -780,7 +769,7 @@ situaci pouze zrušíme stávající (v pořadí druhé) \uv{\.{\char92n}} a nebudeme vytvářet nové. Na výstupu bude soubor o jeden řádek kratší. @= -void vlnkacr() +static void vlnkacr(void) { char p, z; int i, j; @@ -850,7 +839,7 @@ hodnotu proměnné |c|. Stačí tedy změnit hodnotu |c| a vlnkovací patterny se neotevřou. @= -void tielock () +static void tielock (void) { c = 1; } @@ -859,7 +848,7 @@ módu vlnky neděláme. Při zjištěném nesouladu v přechodech mezi math-módy spustíme následující proceduru. @= -void printwarning () +static void printwarning (void) { if (!silent) fprintf (stderr, @@ -884,13 +873,13 @@ } @ @= -void mathin () +static void mathin (void) { if (mode!=TEXTMODE) printwarning (); mode = MATHMODE; normallist = listpatt = mathlist; } -void mathout () +static void mathout (void) { if (mode!=MATHMODE) printwarning (); mode = TEXTMODE; @@ -902,7 +891,7 @@ \.{\$\$} souhlasí ten druhý dolar s naším patternem, ale to už jsme uvnitř display módu. V takovém případě také nic neděláme. @= -void onedollar () +static void onedollar (void) { if (buffnz[inz-3]=='\\' || (buffnz[inz-3]=='$' && buffnz[inz-4]!='\\')) return; if (mode==DISPLAYMODE) printwarning (); @@ -921,7 +910,7 @@ setpi (cr, ONE); @ @= -void checkmode () +static void checkmode (void) { if (mode!=TEXTMODE) { printwarning (); @@ -947,17 +936,17 @@ } @ @= -void displayin () +static void displayin (void) { if (mode!=TEXTMODE) printwarning (); mode = DISPLAYMODE; normallist = listpatt = parcheck; } -void displayout () +static void displayout (void) { if (mode!=DISPLAYMODE) printwarning(); mode = TEXTMODE; normallist = listpatt = vlnkalist; } -void twodollars () +static void twodollars (void) { if (buffnz[inz-3]=='\\') return; if (mode==DISPLAYMODE) displayout (); @@ -999,7 +988,7 @@ int prevmode; PATTERN *prevlist, *verboutlist[4]; char verbchar[2]; -void verbinchar () +static void verbinchar (void) { prevmode = mode; verbchar[0] = c; @@ -1017,7 +1006,7 @@ math. módu může být \.{\char92hbox} a v něm lokálně verbatim konstrukce). @= -void verbin () +static void verbin (void) { int i; i = 0; @@ -1037,7 +1026,7 @@ } @ @= -void verbout () +static void verbout (void) { if (mode!=VERBMODE) return; if (web && buffnz[inz-2] == '@@' && buffnz[inz-3] == '@@') return; @@ -1059,11 +1048,11 @@ normalpattern (tieon, "%.~.+"); @ @= -void tieoff () +static void tieoff (void) { normallist = NULL; } -void tieon () +static void tieon (void) { normallist = vlnkalist; }