home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 2 / Apprentice-Release2.iso / Tools / Languages / Icon 8.1 / msm-1 / common.sit / getopt.c < prev    next >
MacBinary  |  1992-09-19  |  2.3 KB  |  [TEXT/MPS ]

open in: MacOS 8.1     |     Win98     |     DOS

view JSON data     |     view as text

This file was processed as: MacBinary (archive/macBinary).

You can browse this item here: getopt.c

ConfidenceProgramDetectionMatch TypeSupport
66% dexvert Compact Compressed (Unix) (archive/compact) ext Supported
10% dexvert MacBinary (archive/macBinary) fallback Supported
1% dexvert Text File (text/txt) fallback Supported
100% file MacBinary II, Fri Sep 18 22:12:36 1992, modified Fri Sep 18 22:12:36 1992, creator 'MPS ', type ASCII, 1611 bytes "getopt.c" , at 0x6cb 428 bytes resource default (weak)
99% file data default
74% TrID Macintosh plain text (MacBinary) default
25% TrID MacBinary 2 default (weak)
100% siegfried fmt/1762 MacBinary (II) default
100% lsar MacBinary default


id metadata
keyvalue
macFileType[TEXT]
macFileCreator[MPS ]



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 08 67 65 74 6f 70 74 | 2e 63 00 00 00 00 00 00 |..getopt|.c......|
|00000010| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 54 45 58 54 4d 50 53 | 20 00 00 00 00 00 00 00 |.TEXTMPS| .......|
|00000050| 00 00 00 00 00 06 4b 00 | 00 01 ac a6 e0 3d 14 a6 |......K.|.....=..|
|00000060| e0 3d 14 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |.=......|........|
|00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 50 bc 00 00 |........|....P...|
|00000080| 2f 2a 0d 20 2a 20 67 65 | 74 6f 70 74 2e 63 20 2d |/*. * ge|topt.c -|
|00000090| 2d 20 67 65 74 20 63 6f | 6d 6d 61 6e 64 2d 6c 69 |- get co|mmand-li|
|000000a0| 6e 65 20 6f 70 74 69 6f | 6e 73 2e 0d 20 2a 2f 0d |ne optio|ns.. */.|
|000000b0| 0d 23 69 6e 63 6c 75 64 | 65 20 22 3a 3a 68 3a 67 |.#includ|e "::h:g|
|000000c0| 73 75 70 70 6f 72 74 2e | 68 22 0d 0d 65 78 74 65 |support.|h"..exte|
|000000d0| 72 6e 20 63 68 61 72 2a | 20 70 72 6f 67 6e 61 6d |rn char*| prognam|
|000000e0| 65 3b 0d 0d 2f 2a 0d 20 | 2a 20 42 61 73 65 64 20 |e;../*. |* Based |
|000000f0| 6f 6e 20 61 20 70 75 62 | 6c 69 63 20 64 6f 6d 61 |on a pub|lic doma|
|00000100| 69 6e 20 69 6d 70 6c 65 | 6d 65 6e 74 61 74 69 6f |in imple|mentatio|
|00000110| 6e 20 6f 66 20 53 79 73 | 74 65 6d 20 56 0d 20 2a |n of Sys|tem V. *|
|00000120| 20 20 67 65 74 6f 70 74 | 28 33 29 20 62 79 20 4b | getopt|(3) by K|
|00000130| 65 69 74 68 20 42 6f 73 | 74 69 63 20 28 6b 65 69 |eith Bos|tic (kei|
|00000140| 74 68 40 73 65 69 73 6d | 6f 29 2c 20 41 75 67 20 |th@seism|o), Aug |
|00000150| 32 34 2c 20 31 39 38 34 | 2e 0d 20 2a 2f 0d 0d 23 |24, 1984|.. */..#|
|00000160| 64 65 66 69 6e 65 20 42 | 61 64 43 68 09 28 69 6e |define B|adCh.(in|
|00000170| 74 29 27 3f 27 0d 23 64 | 65 66 69 6e 65 20 45 4d |t)'?'.#d|efine EM|
|00000180| 53 47 09 22 22 0d 23 64 | 65 66 69 6e 65 20 74 65 |SG."".#d|efine te|
|00000190| 6c 6c 28 6d 29 09 66 70 | 72 69 6e 74 66 28 73 74 |ll(m).fp|rintf(st|
|000001a0| 64 65 72 72 2c 22 25 73 | 3a 20 25 73 20 2d 2d 20 |derr,"%s|: %s -- |
|000001b0| 25 63 5c 6e 22 2c 70 72 | 6f 67 6e 61 6d 65 2c 6d |%c\n",pr|ogname,m|
|000001c0| 2c 6f 70 74 6f 70 74 29 | 3b 72 65 74 75 72 6e 20 |,optopt)|;return |
|000001d0| 42 61 64 43 68 3b 0d 0d | 69 6e 74 20 6f 70 74 69 |BadCh;..|int opti|
|000001e0| 6e 64 65 78 20 3d 20 31 | 3b 09 09 2f 2a 20 69 6e |ndex = 1|;../* in|
|000001f0| 64 65 78 20 69 6e 74 6f | 20 70 61 72 65 6e 74 20 |dex into| parent |
|00000200| 61 72 67 76 20 76 65 63 | 74 6f 72 20 2a 2f 0d 69 |argv vec|tor */.i|
|00000210| 6e 74 20 6f 70 74 6f 70 | 74 3b 09 09 2f 2a 20 63 |nt optop|t;../* c|
|00000220| 68 61 72 61 63 74 65 72 | 20 63 68 65 63 6b 65 64 |haracter| checked|
|00000230| 20 66 6f 72 20 76 61 6c | 69 64 69 74 79 20 2a 2f | for val|idity */|
|00000240| 0d 63 68 61 72 20 2a 6f | 70 74 61 72 67 3b 09 09 |.char *o|ptarg;..|
|00000250| 2f 2a 20 61 72 67 75 6d | 65 6e 74 20 61 73 73 6f |/* argum|ent asso|
|00000260| 63 69 61 74 65 64 20 77 | 69 74 68 20 6f 70 74 69 |ciated w|ith opti|
|00000270| 6f 6e 20 2a 2f 0d 0d 69 | 6e 74 20 67 65 74 6f 70 |on */..i|nt getop|
|00000280| 74 28 6e 61 72 67 63 2c | 6e 61 72 67 76 2c 6f 73 |t(nargc,|nargv,os|
|00000290| 74 72 29 0d 69 6e 74 20 | 6e 61 72 67 63 3b 0d 63 |tr).int |nargc;.c|
|000002a0| 68 61 72 20 2a 2a 6e 61 | 72 67 76 2c 20 2a 6f 73 |har **na|rgv, *os|
|000002b0| 74 72 3b 0d 20 20 20 7b | 0d 20 20 20 73 74 61 74 |tr;. {|. stat|
|000002c0| 69 63 20 63 68 61 72 20 | 2a 70 6c 61 63 65 20 3d |ic char |*place =|
|000002d0| 20 45 4d 53 47 3b 09 09 | 2f 2a 20 6f 70 74 69 6f | EMSG;..|/* optio|
|000002e0| 6e 20 6c 65 74 74 65 72 | 20 70 72 6f 63 65 73 73 |n letter| process|
|000002f0| 69 6e 67 20 2a 2f 0d 20 | 20 20 72 65 67 69 73 74 |ing */. | regist|
|00000300| 65 72 20 63 68 61 72 20 | 2a 6f 6c 69 3b 09 09 09 |er char |*oli;...|
|00000310| 2f 2a 20 6f 70 74 69 6f | 6e 20 6c 65 74 74 65 72 |/* optio|n letter|
|00000320| 20 6c 69 73 74 20 69 6e | 64 65 78 20 2a 2f 0d 0d | list in|dex */..|
|00000330| 20 20 20 69 66 28 21 2a | 70 6c 61 63 65 29 20 7b | if(!*|place) {|
|00000340| 09 09 09 2f 2a 20 75 70 | 64 61 74 65 20 73 63 61 |.../* up|date sca|
|00000350| 6e 6e 69 6e 67 20 70 6f | 69 6e 74 65 72 20 2a 2f |nning po|inter */|
|00000360| 0d 20 20 20 20 20 20 69 | 66 28 6f 70 74 69 6e 64 |. i|f(optind|
|00000370| 65 78 20 3e 3d 20 6e 61 | 72 67 63 20 7c 7c 20 2a |ex >= na|rgc || *|
|00000380| 28 70 6c 61 63 65 20 3d | 20 6e 61 72 67 76 5b 6f |(place =| nargv[o|
|00000390| 70 74 69 6e 64 65 78 5d | 29 20 21 3d 20 27 2d 27 |ptindex]|) != '-'|
|000003a0| 20 7c 7c 20 21 2a 2b 2b | 70 6c 61 63 65 29 0d 20 | || !*++|place). |
|000003b0| 20 20 20 20 20 20 20 20 | 72 65 74 75 72 6e 28 45 | |return(E|
|000003c0| 4f 46 29 3b 0d 20 20 20 | 20 20 20 69 66 20 28 2a |OF);. | if (*|
|000003d0| 70 6c 61 63 65 20 3d 3d | 20 27 2d 27 29 20 7b 09 |place ==| '-') {.|
|000003e0| 09 2f 2a 20 66 6f 75 6e | 64 20 22 2d 2d 22 20 2a |./* foun|d "--" *|
|000003f0| 2f 0d 20 20 20 20 20 20 | 20 20 20 2b 2b 6f 70 74 |/. | ++opt|
|00000400| 69 6e 64 65 78 3b 0d 20 | 20 20 20 20 20 20 20 20 |index;. | |
|00000410| 72 65 74 75 72 6e 28 45 | 4f 46 29 3b 0d 20 20 20 |return(E|OF);. |
|00000420| 20 20 20 20 20 20 7d 0d | 20 20 20 20 20 20 7d 09 | }.| }.|
|00000430| 09 09 09 09 2f 2a 20 6f | 70 74 69 6f 6e 20 6c 65 |..../* o|ption le|
|00000440| 74 74 65 72 20 6f 6b 61 | 79 3f 20 2a 2f 0d 20 20 |tter oka|y? */. |
|00000450| 20 69 66 20 28 28 6f 70 | 74 6f 70 74 20 3d 20 28 | if ((op|topt = (|
|00000460| 69 6e 74 29 2a 70 6c 61 | 63 65 2b 2b 29 20 3d 3d |int)*pla|ce++) ==|
|00000470| 20 28 69 6e 74 29 27 3a | 27 20 7c 7c 20 21 28 6f | (int)':|' || !(o|
|00000480| 6c 69 20 3d 20 69 6e 64 | 65 78 28 6f 73 74 72 2c |li = ind|ex(ostr,|
|00000490| 6f 70 74 6f 70 74 29 29 | 29 20 7b 0d 20 20 20 20 |optopt))|) {. |
|000004a0| 20 20 69 66 28 21 2a 70 | 6c 61 63 65 29 20 2b 2b | if(!*p|lace) ++|
|000004b0| 6f 70 74 69 6e 64 65 78 | 3b 0d 20 20 20 20 20 20 |optindex|;. |
|000004c0| 74 65 6c 6c 28 22 69 6c | 6c 65 67 61 6c 20 6f 70 |tell("il|legal op|
|000004d0| 74 69 6f 6e 22 29 3b 0d | 20 20 20 20 20 20 7d 0d |tion");.| }.|
|000004e0| 20 20 20 69 66 20 28 2a | 2b 2b 6f 6c 69 20 21 3d | if (*|++oli !=|
|000004f0| 20 27 3a 27 29 20 7b 09 | 09 09 2f 2a 20 64 6f 6e | ':') {.|../* don|
|00000500| 27 74 20 6e 65 65 64 20 | 61 72 67 75 6d 65 6e 74 |'t need |argument|
|00000510| 20 2a 2f 0d 20 20 20 20 | 20 20 6f 70 74 61 72 67 | */. | optarg|
|00000520| 20 3d 20 4e 55 4c 4c 3b | 0d 20 20 20 20 20 20 69 | = NULL;|. i|
|00000530| 66 20 28 21 2a 70 6c 61 | 63 65 29 20 2b 2b 6f 70 |f (!*pla|ce) ++op|
|00000540| 74 69 6e 64 65 78 3b 0d | 20 20 20 20 20 20 7d 0d |tindex;.| }.|
|00000550| 20 20 20 65 6c 73 65 20 | 7b 09 09 09 09 2f 2a 20 | else |{..../* |
|00000560| 6e 65 65 64 20 61 6e 20 | 61 72 67 75 6d 65 6e 74 |need an |argument|
|00000570| 20 2a 2f 0d 20 20 20 20 | 20 20 69 66 20 28 2a 70 | */. | if (*p|
|00000580| 6c 61 63 65 29 20 6f 70 | 74 61 72 67 20 3d 20 70 |lace) op|targ = p|
|00000590| 6c 61 63 65 3b 09 2f 2a | 20 6e 6f 20 77 68 69 74 |lace;./*| no whit|
|000005a0| 65 20 73 70 61 63 65 20 | 2a 2f 0d 20 20 20 20 20 |e space |*/. |
|000005b0| 20 65 6c 73 65 20 69 66 | 20 28 6e 61 72 67 63 20 | else if| (nargc |
|000005c0| 3c 3d 20 2b 2b 6f 70 74 | 69 6e 64 65 78 29 20 7b |<= ++opt|index) {|
|000005d0| 09 2f 2a 20 6e 6f 20 61 | 72 67 20 2a 2f 0d 20 20 |./* no a|rg */. |
|000005e0| 20 20 20 20 20 20 20 70 | 6c 61 63 65 20 3d 20 45 | p|lace = E|
|000005f0| 4d 53 47 3b 0d 20 20 20 | 20 20 20 20 20 20 74 65 |MSG;. | te|
|00000600| 6c 6c 28 22 6f 70 74 69 | 6f 6e 20 72 65 71 75 69 |ll("opti|on requi|
|00000610| 72 65 73 20 61 6e 20 61 | 72 67 75 6d 65 6e 74 22 |res an a|rgument"|
|00000620| 29 3b 0d 20 20 20 20 20 | 20 20 20 20 7d 0d 20 20 |);. | }. |
|00000630| 20 20 20 20 65 6c 73 65 | 20 6f 70 74 61 72 67 20 | else| optarg |
|00000640| 3d 20 6e 61 72 67 76 5b | 6f 70 74 69 6e 64 65 78 |= nargv[|optindex|
|00000650| 5d 3b 09 2f 2a 20 77 68 | 69 74 65 20 73 70 61 63 |];./* wh|ite spac|
|00000660| 65 20 2a 2f 0d 20 20 20 | 20 20 20 70 6c 61 63 65 |e */. | place|
|00000670| 20 3d 20 45 4d 53 47 3b | 0d 20 20 20 20 20 20 2b | = EMSG;|. +|
|00000680| 2b 6f 70 74 69 6e 64 65 | 78 3b 0d 20 20 20 20 20 |+optinde|x;. |
|00000690| 20 7d 0d 20 20 20 72 65 | 74 75 72 6e 28 6f 70 74 | }. re|turn(opt|
|000006a0| 6f 70 74 29 3b 09 09 09 | 2f 2a 20 64 75 6d 70 20 |opt);...|/* dump |
|000006b0| 62 61 63 6b 20 6f 70 74 | 69 6f 6e 20 6c 65 74 74 |back opt|ion lett|
|000006c0| 65 72 20 2a 2f 0d 20 20 | 20 7d 0d 00 00 00 00 00 |er */. | }......|
|000006d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000006e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000006f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000700| 00 00 01 00 00 00 01 6e | 00 00 00 6e 00 00 00 3e |.......n|...n...>|
|00000710| 20 6e ff fc 21 46 00 0c | 60 58 2f 0c 48 7a 00 88 | n..!F..|`X/.Hz..|
|00000720| 4e ba 00 00 50 4f 60 4a | 2f 0c 4e ba 00 00 2d 40 |N...PO`J|/.N...-@|
|00000730| 08 67 65 74 6f 70 74 2e | 63 00 02 00 00 00 54 45 |.getopt.|c.....TE|
|00000740| 58 54 4d 50 53 20 00 00 | 00 00 00 00 00 00 00 00 |XTMPS ..|........|
|00000750| 00 00 54 45 58 54 4d 50 | 53 20 00 00 00 00 00 00 |..TEXTMP|S ......|
|00000760| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000770| 00 00 a6 e0 04 d4 00 00 | 06 4b 00 00 01 ac 73 74 |........|.K....st|
|00000780| 61 6c 6c 3a 20 75 6e 72 | 65 63 6f 67 6e 69 7a 65 |all: unr|ecognize|
|00000790| 64 20 73 79 6d 62 6f 6c | 20 74 61 62 6c 65 20 66 |d symbol| table f|
|000007a0| 6c 61 67 2e 00 00 69 6e | 63 6f 6e 73 69 73 74 65 |lag...in|consiste|
|000007b0| 6e 74 20 72 65 64 65 63 | 6c 61 72 61 74 69 6f 6e |nt redec|laration|
|000007c0| 00 00 72 65 64 65 63 6c | 61 72 65 64 20 69 64 65 |..redecl|ared ide|
|000007d0| 6e 74 69 66 69 65 72 00 | 04 00 00 0d 00 0e 06 70 |ntifier.|.......p|
|000007e0| 75 74 6c 6f 63 00 05 08 | 00 0e 00 02 09 10 00 08 |utloc...|........|
|000007f0| 00 13 00 36 09 10 00 08 | 00 0f 00 10 09 90 00 0c |...6....|........|
|00000800| 00 00 00 48 00 09 4d 6f | 6e 61 63 6f 00 00 00 00 |...H..Mo|naco....|
|00000810| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000820| 00 00 00 00 00 00 00 06 | 00 04 00 2a 00 05 01 21 |........|...*...!|
|00000830| 01 cb 00 2a 00 05 01 21 | 01 cb a6 e0 04 d4 00 00 |...*...!|........|
|00000840| 03 ce 00 00 04 1c 00 00 | 03 72 01 00 00 00 00 1e |........|.r......|
|00000850| 00 2a 00 05 01 21 01 cb | 00 2a 00 05 01 21 01 cb |.*...!..|.*...!..|
|00000860| 00 00 03 72 00 00 00 00 | 00 00 00 00 00 00 00 00 |...r....|........|
|00000870| 01 00 00 00 01 6e 00 00 | 00 6e 00 00 00 3e 00 57 |.....n..|.n...>.W|
|00000880| 1a 60 08 74 00 00 00 1c | 00 3e 00 00 4d 50 53 52 |.`.t....|.>..MPSR|
|00000890| 00 01 00 0a 03 ed ff ff | 00 00 00 00 00 00 00 00 |........|........|
|000008a0| 03 f0 ff ff 00 00 00 4c | 00 59 18 3c 00 00 00 00 |.......L|.Y.<....|
|000008b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000008c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000008d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000008e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000008f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
+--------+-------------------------+-------------------------+--------+--------+