Path: utzoo!mnetor!uunet!husc6!mailrus!ames!killer!tness7!tness1!sugar!peter From: peter@sugar.UUCP (Peter da Silva) Newsgroups: comp.lang.c Subject: Re: gotos Message-ID: <1881@sugar.UUCP> Date: 24 Apr 88 15:48:16 GMT References: <1988Apr8.183815.3187@utzoo.uucp> <449@goofy.megatest.UUCP> <1075@maynard.BSW.COM> Organization: Sugar Land UNIX - Houston, TX Lines: 42 Summary: SIGIO? What's that? I think you're both hosed... In article ... campbell@maynard.BSW.COM (Larry Campbell) writes: > In article <2200@louie.udel.EDU> new@udel.EDU (Darren New) writes: > <>How about: (pseudocode) > <> for (i = 0; i < max_in_table && key != name[i]; ++i) > <> if (keypressed()) goto handle_key; ... > <> handle_key: > <> c = wait_for_key_then_read_it(); > <> switch (c) { > Use a signal handler. Example: > handle_key() > { > c = wait_for_key_then_read_it(); > switch (c) > { ... > ... main body of code: > signal(SIGIO, handler); > for (i = 0; i < max_in_table && key != name[i]; ++i) > ; Who's got SIGIO? And why do you need SIGIO? Instead of if(key_pressed()) goto handle_key; You can do if(key_pressed()) handle_key(); Personally I'd do this in a real operating system that supports lightweight processes, like AmigaDOS, instead of an old monolithic monitor :->. -- -- Peter da Silva `-_-' ...!hoptoad!academ!uhnix1!sugar!peter -- "Have you hugged your U wolf today?" ...!bellcore!tness1!sugar!peter -- Disclaimer: These aren't mere opinions, these are *values*.