Using &LABEL

The WITNESS bsa at ncoast.UUCP
Mon Sep 17 11:18:17 AEST 1984


[gollum :-)]

> From: rch at brunix.UUCP (Rich Yampell)

> >Bennet Todd suggests that arrays of labels might be useful
> >for jump tables.  That's exactly the purpose of the
> >switch statement.
> 
> true, but what if you want to update the jump table on the fly?
> (not that I would personally want to-- it does seem a bit hacky-- but
>  this is, after all, a discussion of what "might be useful")

Might be, or perhaps "is".  I have already made use of, on my own, a "call
table" using the following struct:

	struct cmdtab {
		char *c_name[10];
		int (*c_fn)();
	};

This is used in a program where a number of options exist, depending on the
first character of the command string: '!' shells it, '#' execs it, and '*'
does a lookup in the cmdtab list.  I could see uses for a "label table" in
this, for special-purpose operations (such as an exit statement; currently,
you have to prefefine an exit character, making it difficult to build tables
on the fly, but a label option would fix this while providing for other
contingencies as well).  I haven't tried it, though; it probably won't work
on someone's machine, and I am trying to be halfway portable.  (And failed
already; the tables built on the fly are directory menus, and won't work under
4.2. :-)  (I LOVE compatibility :-)

--bsa



More information about the Comp.lang.c mailing list