Update K&R functions in bfd/doc/chew.c

* doc/chew.c: Update function definitions to ISO C, remove
	now unnecessary prototypes.
This commit is contained in:
Alan Modra
2022-05-30 17:03:52 +09:30
parent b9b0b2b5e3
commit f43ffe07b1

View File

@ -100,7 +100,7 @@ typedef struct buffer
unsigned long size;
} string_type;
typedef void (*stinst_type)();
typedef void (*stinst_type) (void);
typedef struct dict_struct
{
@ -129,34 +129,15 @@ dict_type *root;
stinst_type *pc;
#ifdef __STDC__
static void init_string_with_size (string_type *, unsigned int);
static void init_string (string_type *);
static int find (string_type *, char *);
static void write_buffer (string_type *, FILE *);
static void delete_string (string_type *);
static char *addr (string_type *, unsigned int);
static char at (string_type *, unsigned int);
static void catchar (string_type *, int);
static void overwrite_string (string_type *, string_type *);
static void catbuf (string_type *, char *, unsigned int);
static void cattext (string_type *, char *);
static void catstr (string_type *, string_type *);
static void die (char *);
#endif
static void
die (msg)
char *msg;
die (char *msg)
{
fprintf (stderr, "%s\n", msg);
exit (1);
}
static void
init_string_with_size (buffer, size)
string_type *buffer;
unsigned int size;
init_string_with_size (string_type *buffer, unsigned int size)
{
buffer->write_idx = 0;
buffer->size = size;
@ -164,16 +145,13 @@ init_string_with_size (buffer, size)
}
static void
init_string (buffer)
string_type *buffer;
init_string (string_type *buffer)
{
init_string_with_size (buffer, DEF_SIZE);
}
static int
find (str, what)
string_type *str;
char *what;
find (string_type *str, char *what)
{
unsigned int i;
char *p;
@ -189,9 +167,7 @@ find (str, what)
}
static void
write_buffer (buffer, f)
string_type *buffer;
FILE *f;
write_buffer (string_type *buffer, FILE *f)
{
if (buffer->write_idx != 0
&& fwrite (buffer->ptr, buffer->write_idx, 1, f) != 1)
@ -199,25 +175,20 @@ write_buffer (buffer, f)
}
static void
delete_string (buffer)
string_type *buffer;
delete_string (string_type *buffer)
{
free (buffer->ptr);
buffer->ptr = NULL;
}
static char *
addr (buffer, idx)
string_type *buffer;
unsigned int idx;
addr (string_type *buffer, unsigned int idx)
{
return buffer->ptr + idx;
}
static char
at (buffer, pos)
string_type *buffer;
unsigned int pos;
at (string_type *buffer, unsigned int pos)
{
if (pos >= buffer->write_idx)
return 0;
@ -225,9 +196,7 @@ at (buffer, pos)
}
static void
catchar (buffer, ch)
string_type *buffer;
int ch;
catchar (string_type *buffer, int ch)
{
if (buffer->write_idx == buffer->size)
{
@ -239,9 +208,7 @@ catchar (buffer, ch)
}
static void
overwrite_string (dst, src)
string_type *dst;
string_type *src;
overwrite_string (string_type *dst, string_type *src)
{
free (dst->ptr);
dst->size = src->size;
@ -250,10 +217,7 @@ overwrite_string (dst, src)
}
static void
catbuf (buffer, buf, len)
string_type *buffer;
char *buf;
unsigned int len;
catbuf (string_type *buffer, char *buf, unsigned int len)
{
if (buffer->write_idx + len >= buffer->size)
{
@ -266,25 +230,19 @@ catbuf (buffer, buf, len)
}
static void
cattext (buffer, string)
string_type *buffer;
char *string;
cattext (string_type *buffer, char *string)
{
catbuf (buffer, string, (unsigned int) strlen (string));
}
static void
catstr (dst, src)
string_type *dst;
string_type *src;
catstr (string_type *dst, string_type *src)
{
catbuf (dst, src->ptr, src->write_idx);
}
static unsigned int
skip_white_and_stars (src, idx)
string_type *src;
unsigned int idx;
skip_white_and_stars (string_type *src, unsigned int idx)
{
char c;
while ((c = at (src, idx)),
@ -299,9 +257,7 @@ skip_white_and_stars (src, idx)
}
static unsigned int
skip_past_newline_1 (ptr, idx)
string_type *ptr;
unsigned int idx;
skip_past_newline_1 (string_type *ptr, unsigned int idx)
{
while (at (ptr, idx)
&& at (ptr, idx) != '\n')
@ -312,7 +268,7 @@ skip_past_newline_1 (ptr, idx)
}
static void
check_range ()
check_range (void)
{
if (tos < stack)
die ("underflow in string stack");
@ -321,7 +277,7 @@ check_range ()
}
static void
icheck_range ()
icheck_range (void)
{
if (isp < istack)
die ("underflow in integer stack");
@ -329,44 +285,8 @@ icheck_range ()
die ("overflow in integer stack");
}
#ifdef __STDC__
static void exec (dict_type *);
static void call (void);
static void remchar (void), strip_trailing_newlines (void), push_number (void);
static void push_text (void);
static void remove_noncomments (string_type *, string_type *);
static void print_stack_level (void);
static void paramstuff (void), translatecomments (void);
static void outputdots (void), courierize (void), bulletize (void);
static void do_fancy_stuff (void);
static int iscommand (string_type *, unsigned int);
static int copy_past_newline (string_type *, unsigned int, string_type *);
static void icopy_past_newline (void), kill_bogus_lines (void), indent (void);
static void get_stuff_in_command (void), swap (void), other_dup (void);
static void drop (void), idrop (void);
static void icatstr (void), skip_past_newline (void), internalmode (void);
static void maybecatstr (void);
static char *nextword (char *, char **);
dict_type *lookup_word (char *);
static void perform (void);
dict_type *newentry (char *);
unsigned int add_to_definition (dict_type *, stinst_type);
void add_intrinsic (char *, void (*)());
void compile (char *);
static void bang (void);
static void atsign (void);
static void hello (void);
static void stdout_ (void);
static void stderr_ (void);
static void print (void);
static void read_in (string_type *, FILE *);
static void usage (void);
static void chew_exit (void);
#endif
static void
exec (word)
dict_type *word;
exec (dict_type *word)
{
pc = word->code;
while (*pc)
@ -374,7 +294,7 @@ exec (word)
}
static void
call ()
call (void)
{
stinst_type *oldpc = pc;
dict_type *e;
@ -384,7 +304,7 @@ call ()
}
static void
remchar ()
remchar (void)
{
if (tos->write_idx)
tos->write_idx--;
@ -392,7 +312,7 @@ remchar ()
}
static void
strip_trailing_newlines ()
strip_trailing_newlines (void)
{
while ((isspace ((unsigned char) at (tos, tos->write_idx - 1))
|| at (tos, tos->write_idx - 1) == '\n')
@ -402,7 +322,7 @@ strip_trailing_newlines ()
}
static void
push_number ()
push_number (void)
{
isp++;
icheck_range ();
@ -412,7 +332,7 @@ push_number ()
}
static void
push_text ()
push_text (void)
{
tos++;
check_range ();
@ -428,9 +348,7 @@ push_text ()
Blank lines are turned into one blank line. */
static void
remove_noncomments (src, dst)
string_type *src;
string_type *dst;
remove_noncomments (string_type *src, string_type *dst)
{
unsigned int idx = 0;
@ -481,7 +399,7 @@ remove_noncomments (src, dst)
}
static void
print_stack_level ()
print_stack_level (void)
{
fprintf (stderr, "current string stack depth = %ld, ",
(long) (tos - stack));
@ -499,7 +417,7 @@ print_stack_level ()
*/
static void
paramstuff ()
paramstuff (void)
{
unsigned int openp;
unsigned int fname;
@ -572,7 +490,7 @@ paramstuff ()
and *} into comments */
static void
translatecomments ()
translatecomments (void)
{
unsigned int idx = 0;
string_type out;
@ -604,7 +522,7 @@ translatecomments ()
/* Mod tos so that only lines with leading dots remain */
static void
outputdots ()
outputdots (void)
{
unsigned int idx = 0;
string_type out;
@ -653,7 +571,7 @@ outputdots ()
/* Find lines starting with . and | and put example around them on tos */
static void
courierize ()
courierize (void)
{
string_type out;
unsigned int idx = 0;
@ -740,7 +658,7 @@ courierize ()
itemize, inplace at TOS*/
static void
bulletize ()
bulletize (void)
{
unsigned int idx = 0;
int on = 0;
@ -795,7 +713,7 @@ bulletize ()
/* Turn <<foo>> into @code{foo} in place at TOS*/
static void
do_fancy_stuff ()
do_fancy_stuff (void)
{
unsigned int idx = 0;
string_type out;
@ -834,9 +752,7 @@ do_fancy_stuff ()
/* A command is all upper case,and alone on a line. */
static int
iscommand (ptr, idx)
string_type *ptr;
unsigned int idx;
iscommand (string_type *ptr, unsigned int idx)
{
unsigned int len = 0;
while (at (ptr, idx))
@ -860,10 +776,7 @@ iscommand (ptr, idx)
}
static int
copy_past_newline (ptr, idx, dst)
string_type *ptr;
unsigned int idx;
string_type *dst;
copy_past_newline (string_type *ptr, unsigned int idx, string_type *dst)
{
int column = 0;
@ -892,7 +805,7 @@ copy_past_newline (ptr, idx, dst)
}
static void
icopy_past_newline ()
icopy_past_newline (void)
{
tos++;
check_range ();
@ -905,7 +818,7 @@ icopy_past_newline ()
Take the string at the top of the stack, do some prettying. */
static void
kill_bogus_lines ()
kill_bogus_lines (void)
{
int sl;
@ -992,7 +905,7 @@ kill_bogus_lines ()
}
static void
indent ()
indent (void)
{
string_type out;
int tab = 0;
@ -1043,7 +956,7 @@ indent ()
}
static void
get_stuff_in_command ()
get_stuff_in_command (void)
{
tos++;
check_range ();
@ -1059,7 +972,7 @@ get_stuff_in_command ()
}
static void
swap ()
swap (void)
{
string_type t;
@ -1070,7 +983,7 @@ swap ()
}
static void
other_dup ()
other_dup (void)
{
tos++;
check_range ();
@ -1080,7 +993,7 @@ other_dup ()
}
static void
drop ()
drop (void)
{
tos--;
check_range ();
@ -1089,7 +1002,7 @@ drop ()
}
static void
idrop ()
idrop (void)
{
isp--;
icheck_range ();
@ -1097,7 +1010,7 @@ idrop ()
}
static void
icatstr ()
icatstr (void)
{
tos--;
check_range ();
@ -1107,14 +1020,14 @@ icatstr ()
}
static void
skip_past_newline ()
skip_past_newline (void)
{
idx = skip_past_newline_1 (ptr, idx);
pc++;
}
static void
internalmode ()
internalmode (void)
{
internal_mode = *(isp);
isp--;
@ -1123,7 +1036,7 @@ internalmode ()
}
static void
maybecatstr ()
maybecatstr (void)
{
if (internal_wanted == internal_mode)
{
@ -1136,9 +1049,7 @@ maybecatstr ()
}
char *
nextword (string, word)
char *string;
char **word;
nextword (char *string, char **word)
{
char *word_start;
int idx;
@ -1226,8 +1137,7 @@ nextword (string, word)
}
dict_type *
lookup_word (word)
char *word;
lookup_word (char *word)
{
dict_type *ptr = root;
while (ptr)
@ -1304,8 +1214,7 @@ perform (void)
}
dict_type *
newentry (word)
char *word;
newentry (char *word)
{
dict_type *new_d = (dict_type *) malloc (sizeof (dict_type));
new_d->word = word;
@ -1318,9 +1227,7 @@ newentry (word)
}
unsigned int
add_to_definition (entry, word)
dict_type *entry;
stinst_type word;
add_to_definition (dict_type *entry, stinst_type word)
{
if (entry->code_end == entry->code_length)
{
@ -1335,9 +1242,7 @@ add_to_definition (entry, word)
}
void
add_intrinsic (name, func)
char *name;
void (*func) ();
add_intrinsic (char *name, void (*func) (void))
{
dict_type *new_d = newentry (strdup (name));
add_to_definition (new_d, func);
@ -1345,8 +1250,7 @@ add_intrinsic (name, func)
}
void
compile (string)
char *string;
compile (char *string)
{
/* Add words to the dictionary. */
char *word;
@ -1419,7 +1323,7 @@ compile (string)
}
static void
bang ()
bang (void)
{
*(long *) ((isp[0])) = isp[-1];
isp -= 2;
@ -1428,21 +1332,21 @@ bang ()
}
static void
atsign ()
atsign (void)
{
isp[0] = *(long *) (isp[0]);
pc++;
}
static void
hello ()
hello (void)
{
printf ("hello\n");
pc++;
}
static void
stdout_ ()
stdout_ (void)
{
isp++;
icheck_range ();
@ -1451,7 +1355,7 @@ stdout_ ()
}
static void
stderr_ ()
stderr_ (void)
{
isp++;
icheck_range ();
@ -1460,7 +1364,7 @@ stderr_ ()
}
static void
print ()
print (void)
{
if (*isp == 1)
write_buffer (tos, stdout);
@ -1476,9 +1380,7 @@ print ()
}
static void
read_in (str, file)
string_type *str;
FILE *file;
read_in (string_type *str, FILE *file)
{
char buff[10000];
unsigned int r;
@ -1494,7 +1396,7 @@ read_in (str, file)
}
static void
usage ()
usage (void)
{
fprintf (stderr, "usage: -[d|i|g] <file >file\n");
exit (33);
@ -1506,15 +1408,13 @@ usage ()
is a pointless waste of time. */
static void
chew_exit ()
chew_exit (void)
{
exit (0);
}
int
main (ac, av)
int ac;
char *av[];
main (int ac, char *av[])
{
unsigned int i;
string_type buffer;