From 0a3db088e1ea0a6917b38b3ee731a11066e98540 Mon Sep 17 00:00:00 2001 From: Oliver Lehmann Date: Fri, 28 Aug 2009 18:47:39 +0000 Subject: [PATCH] remove the gotos --- WEGA/src/lib/libc/gen/goodmagic.c | 38 +++++++++++++++---------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/WEGA/src/lib/libc/gen/goodmagic.c b/WEGA/src/lib/libc/gen/goodmagic.c index 8369b09..26398cb 100644 --- a/WEGA/src/lib/libc/gen/goodmagic.c +++ b/WEGA/src/lib/libc/gen/goodmagic.c @@ -14,26 +14,26 @@ int goodmagic(magic) int magic; { - register int i; + register int ret; swap_flg=0x0000; -foo0: - magics[0]=(unsigned)magic; - i=10; -foo1: - i--; - if(magic!=magics[i]) - goto foo1; - if(i) - goto foo2; - magic=swap(magic); - if(!swap_flg++) - goto foo0; -foo2: - if(i) - goto foo3; - swap_flg=0x0000; -foo3: - return(i); + do { + magics[0]=magic; + ret=sizeof(magics)/sizeof(int); + + do + ret--; + while (magic!=magics[ret]); + + if(ret) + break; + + magic=swap(magic); + } while(!swap_flg++); + + if(!ret) + swap_flg=0x0000; + + return(ret); }