home *** CD-ROM | disk | FTP | other *** search
open in:
MacOS 8.1
|
Win98
|
DOS
view JSON data
|
view as text
This file was processed as: SHell self-extracting ARchive
(archive/shar).
You can browse this item here: 3421
Confidence | Program | Detection | Match Type | Support
|
---|
100%
| dexvert
| Newsgroup Content (archive/news)
| magic
| Supported |
100%
| dexvert
| SHell self-extracting ARchive (archive/shar)
| magic
| Supported |
100%
| dexvert
| Internet Message Format (text/imf)
| magic
| Supported |
1%
| dexvert
| Text File (text/txt)
| fallback
| Supported |
100%
| file
| news or mail, ASCII text
| default
| |
100%
| TrID
| E-Mail message (Var. 2)
| default
| |
100%
| checkBytes
| Printable ASCII
| default
| |
100%
| perlTextCheck
| Likely Text (Perl)
| default
| |
100%
| siegfried
| fmt/329 Shell Archive Format
| default
| |
100%
| detectItEasy
| Format: plain text[LF]
| default (weak)
| |
100%
| xdgMime
| message/rfc822
| default
|
|
hex view+--------+-------------------------+-------------------------+--------+--------+
|00000000| 46 72 6f 6d 3a 20 72 6f | 62 65 72 74 40 69 73 67 |From: ro|bert@isg|
|00000010| 74 65 63 2e 55 55 43 50 | 20 28 52 6f 62 65 72 74 |tec.UUCP| (Robert|
|00000020| 20 4f 73 62 6f 72 6e 65 | 29 0a 4e 65 77 73 67 72 | Osborne|).Newsgr|
|00000030| 6f 75 70 73 3a 20 61 6c | 74 2e 73 6f 75 72 63 65 |oups: al|t.source|
|00000040| 73 0a 53 75 62 6a 65 63 | 74 3a 20 52 65 3a 20 28 |s.Subjec|t: Re: (|
|00000050| 79 65 74 20 41 6e 6f 74 | 68 65 72 20 74 65 73 74 |yet Anot|her test|
|00000060| 20 41 4e 44 20 61 20 50 | 44 20 67 65 74 6f 70 74 | AND a P|D getopt|
|00000070| 29 20 41 4e 44 20 6e 65 | 73 74 61 62 6c 65 20 73 |) AND ne|stable s|
|00000080| 74 72 74 6f 6b 0a 4d 65 | 73 73 61 67 65 2d 49 44 |trtok.Me|ssage-ID|
|00000090| 3a 20 3c 31 30 37 38 40 | 69 73 67 74 65 63 2e 55 |: <1078@|isgtec.U|
|000000a0| 55 43 50 3e 0a 44 61 74 | 65 3a 20 32 33 20 4d 61 |UCP>.Dat|e: 23 Ma|
|000000b0| 79 20 39 31 20 32 32 3a | 30 38 3a 34 31 20 47 4d |y 91 22:|08:41 GM|
|000000c0| 54 0a 0a 49 6e 20 61 72 | 74 69 63 6c 65 20 3c 33 |T..In ar|ticle <3|
|000000d0| 34 35 34 40 74 72 61 76 | 69 73 2e 63 73 64 2e 68 |454@trav|is.csd.h|
|000000e0| 61 72 72 69 73 2e 63 6f | 6d 3e 2c 20 62 72 61 64 |arris.co|m>, brad|
|000000f0| 40 53 53 44 2e 43 53 44 | 2e 48 41 52 52 49 53 2e |@SSD.CSD|.HARRIS.|
|00000100| 43 4f 4d 20 28 42 72 61 | 64 20 41 70 70 6c 65 74 |COM (Bra|d Applet|
|00000110| 6f 6e 29 20 77 72 69 74 | 65 73 3a 0a 7c 3e 20 49 |on) writ|es:.|> I|
|00000120| 6e 20 61 72 74 69 63 6c | 65 20 3c 31 30 37 34 40 |n articl|e <1074@|
|00000130| 69 73 67 74 65 63 2e 55 | 55 43 50 3e 20 72 6f 62 |isgtec.U|UCP> rob|
|00000140| 65 72 74 40 69 73 67 74 | 65 63 2e 55 55 43 50 20 |ert@isgt|ec.UUCP |
|00000150| 77 72 69 74 65 73 3a 0a | 7c 3e 20 3e 0a 7c 3e 20 |writes:.||> >.|> |
|00000160| 3e 48 65 72 65 20 69 73 | 20 61 20 67 65 74 6f 70 |>Here is| a getop|
|00000170| 74 20 49 20 77 72 6f 74 | 65 20 28 6e 6f 77 20 50 |t I wrot|e (now P|
|00000180| 44 29 20 62 65 63 61 75 | 73 65 20 54 75 72 62 6f |D) becau|se Turbo|
|00000190| 20 43 20 64 6f 65 73 6e | 27 74 20 68 61 76 65 20 | C doesn|'t have |
|000001a0| 6f 6e 65 21 0a 7c 3e 20 | 3e 28 4d 61 79 62 65 20 |one!.|> |>(Maybe |
|000001b0| 74 68 65 79 27 6c 6c 20 | 70 75 74 20 74 68 69 73 |they'll |put this|
|000001c0| 20 6f 6e 65 20 69 6e 74 | 6f 20 74 68 65 69 72 20 | one int|o their |
|000001d0| 6c 69 62 72 61 72 69 65 | 73 20 6e 6f 77 20 3a 2d |librarie|s now :-|
|000001e0| 29 0a 7c 3e 20 3e 0a 7c | 3e 20 46 69 72 73 74 20 |).|> >.||> First |
|000001f0| 6f 66 20 61 6c 6c 20 2d | 20 41 54 26 54 20 61 6c |of all -| AT&T al|
|00000200| 72 65 61 64 79 20 70 75 | 74 20 67 65 74 6f 70 74 |ready pu|t getopt|
|00000210| 20 69 6e 74 6f 20 74 68 | 65 20 50 75 62 6c 69 63 | into th|e Public|
|00000220| 20 64 6f 6d 61 69 6e 2e | 0a 0a 46 69 72 73 74 20 | domain.|..First |
|00000230| 6f 66 20 61 6c 6c 2c 20 | 20 49 20 64 69 64 6e 27 |of all, | I didn'|
|00000240| 74 20 68 61 76 65 20 69 | 74 20 77 68 65 6e 20 49 |t have i|t when I|
|00000250| 20 73 70 65 6e 74 20 32 | 30 20 6d 69 6e 75 74 65 | spent 2|0 minute|
|00000260| 73 20 6b 6e 6f 63 6b 69 | 6e 67 20 74 68 69 73 20 |s knocki|ng this |
|00000270| 6f 66 66 2e 0a 0a 7c 3e | 20 53 65 63 6f 6e 64 2c |off...|>| Second,|
|00000280| 0a 7c 3e 20 67 65 74 6f | 70 74 20 69 73 20 61 20 |.|> geto|pt is a |
|00000290| 70 69 65 63 65 20 6f 66 | 20 63 72 61 70 2e 20 44 |piece of| crap. D|
|000002a0| 4f 57 4e 20 57 49 54 48 | 20 47 45 54 4f 50 54 21 |OWN WITH| GETOPT!|
|000002b0| 20 54 68 65 72 65 20 69 | 73 20 6d 75 63 68 20 62 | There i|s much b|
|000002c0| 65 74 74 65 72 20 73 74 | 75 66 66 0a 7c 3e 20 61 |etter st|uff.|> a|
|000002d0| 76 61 69 6c 61 62 6c 65 | 2e 0a 0a 59 6f 75 20 73 |vailable|...You s|
|000002e0| 65 65 6d 20 76 65 72 79 | 2c 20 75 75 6d 68 2c 20 |eem very|, uumh, |
|000002f0| 65 6d 6f 74 69 6f 6e 61 | 6c 20 61 62 6f 75 74 20 |emotiona|l about |
|00000300| 74 68 69 73 2e 0a 0a 7c | 3e 54 61 6b 65 20 50 61 |this...||>Take Pa|
|00000310| 72 73 65 61 72 67 73 20 | 66 6f 72 20 65 78 61 6d |rseargs |for exam|
|00000320| 70 6c 65 20 28 77 68 69 | 63 68 20 49 20 72 65 6c |ple (whi|ch I rel|
|00000330| 65 61 73 65 64 29 2e 0a | 0a 41 68 68 68 2c 20 20 |eased)..|.Ahhh, |
|00000340| 49 20 73 65 65 20 77 68 | 79 2e 0a 0a 46 6f 72 20 |I see wh|y...For |
|00000350| 73 69 6d 70 6c 65 2c 20 | 20 74 65 6e 20 6c 69 6e |simple, | ten lin|
|00000360| 65 20 74 65 73 74 20 70 | 72 6f 67 72 61 6d 73 2c |e test p|rograms,|
|00000370| 20 20 67 65 74 6f 70 74 | 20 69 73 20 61 20 71 75 | getopt| is a qu|
|00000380| 69 63 6b 20 77 61 79 20 | 74 6f 0a 6d 6f 64 69 66 |ick way |to.modif|
|00000390| 79 20 74 68 65 20 77 61 | 79 20 74 68 65 20 70 72 |y the wa|y the pr|
|000003a0| 6f 67 72 61 6d 20 72 75 | 6e 73 2e 20 20 20 42 65 |ogram ru|ns. Be|
|000003b0| 73 69 64 65 73 20 69 74 | 20 70 72 65 74 74 79 20 |sides it| pretty |
|000003c0| 73 74 61 6e 64 61 72 64 | 2c 0a 65 76 65 72 79 62 |standard|,.everyb|
|000003d0| 6f 64 79 20 6b 6e 6f 77 | 73 20 68 6f 77 20 69 74 |ody know|s how it|
|000003e0| 20 77 6f 72 6b 73 2e 0a | 0a 7c 3e 46 6f 72 20 61 | works..|.|>For a|
|000003f0| 6e 79 20 0a 7c 3e 20 69 | 6e 74 65 72 65 73 74 65 |ny .|> i|ntereste|
|00000400| 64 20 70 61 72 74 69 65 | 73 2c 20 74 68 65 20 66 |d partie|s, the f|
|00000410| 6f 6c 6c 6f 77 69 6e 67 | 20 69 73 20 61 20 62 72 |ollowing| is a br|
|00000420| 69 65 66 20 64 65 73 63 | 72 69 70 74 69 6f 6e 20 |ief desc|ription |
|00000430| 6f 66 20 50 61 72 73 65 | 61 72 67 73 2e 0a 7c 3e |of Parse|args..|>|
|00000440| 20 59 6f 75 20 63 61 6e | 20 67 65 74 20 74 68 65 | You can| get the|
|00000450| 20 6c 61 74 65 73 74 20 | 76 65 72 73 69 6f 6e 20 | latest |version |
|00000460| 66 72 6f 6d 20 6d 65 2c | 20 6f 72 20 79 6f 75 20 |from me,| or you |
|00000470| 63 61 6e 20 6c 6f 6f 6b | 20 69 6e 20 79 6f 75 72 |can look| in your|
|00000480| 20 6c 6f 63 61 6c 0a 7c | 3e 20 63 6f 6d 70 2e 73 | local.||> comp.s|
|00000490| 6f 75 72 63 65 73 2e 6d | 69 73 63 20 61 72 63 68 |ources.m|isc arch|
|000004a0| 69 76 65 73 20 66 6f 72 | 20 74 68 65 20 73 6f 75 |ives for| the sou|
|000004b0| 72 63 65 73 20 61 6e 64 | 20 6c 61 74 65 73 74 20 |rces and| latest |
|000004c0| 70 61 74 63 68 65 73 20 | 28 70 61 74 63 68 30 35 |patches |(patch05|
|000004d0| 29 2e 0a 0a 49 20 64 6f | 6e 27 74 20 74 68 69 6e |)...I do|n't thin|
|000004e0| 6b 20 6d 79 20 67 65 74 | 6f 70 74 20 77 69 6c 6c |k my get|opt will|
|000004f0| 20 6e 65 65 64 20 70 61 | 74 63 68 65 73 20 28 63 | need pa|tches (c|
|00000500| 65 72 74 61 69 6e 6c 79 | 20 6e 6f 74 20 35 29 2e |ertainly| not 5).|
|00000510| 20 20 57 68 65 6e 20 49 | 27 6d 0a 77 72 69 74 69 | When I|'m.writi|
|00000520| 6e 67 20 73 69 6d 70 6c | 65 20 74 65 73 74 20 70 |ng simpl|e test p|
|00000530| 72 6f 67 72 61 6d 73 20 | 49 20 64 6f 6e 27 74 20 |rograms |I don't |
|00000540| 77 61 6e 74 20 74 6f 20 | 73 70 65 6e 64 20 6d 79 |want to |spend my|
|00000550| 20 74 69 6d 65 20 64 65 | 62 75 67 67 69 6e 67 0a | time de|bugging.|
|00000560| 73 6f 6d 65 62 6f 64 79 | 27 73 20 70 61 72 73 65 |somebody|'s parse|
|00000570| 61 72 67 73 20 70 61 63 | 6b 61 67 65 2e 20 20 4e |args pac|kage. N|
|00000580| 6f 77 20 69 66 20 49 20 | 77 61 73 20 77 72 69 74 |ow if I |was writ|
|00000590| 69 6e 67 20 61 20 70 72 | 6f 64 75 63 74 20 6d 61 |ing a pr|oduct ma|
|000005a0| 79 62 65 0a 49 27 64 20 | 74 61 6b 65 20 61 20 6c |ybe.I'd |take a l|
|000005b0| 6f 6f 6b 20 61 74 20 69 | 74 2e 0a 0a 52 6f 62 2e |ook at i|t...Rob.|
|000005c0| 0a 0a 4f 62 6a 20 53 6f | 75 72 63 65 3a 0a 48 65 |..Obj So|urce:.He|
|000005d0| 72 65 27 73 20 61 20 6e | 65 73 74 61 62 6c 65 20 |re's a n|estable |
|000005e0| 73 74 72 74 6f 6b 20 28 | 73 74 72 74 6f 6b 6e 73 |strtok (|strtokns|
|000005f0| 74 29 20 69 74 20 6e 65 | 65 64 73 20 61 20 74 68 |t) it ne|eds a th|
|00000600| 69 72 64 20 61 72 67 75 | 6d 65 6e 74 0a 28 70 74 |ird argu|ment.(pt|
|00000610| 72 20 74 6f 20 63 68 61 | 72 20 2a 29 20 74 6f 20 |r to cha|r *) to |
|00000620| 61 63 63 6f 6d 70 6c 69 | 73 68 20 74 68 69 73 2e |accompli|sh this.|
|00000630| 20 20 49 20 77 72 6f 74 | 65 20 74 68 69 73 20 61 | I wrot|e this a|
|00000640| 66 74 65 72 20 67 65 74 | 74 69 6e 67 0a 62 75 72 |fter get|ting.bur|
|00000650| 6e 65 64 20 66 6f 72 20 | 61 62 6f 75 74 20 74 68 |ned for |about th|
|00000660| 65 20 74 65 6e 74 68 20 | 74 69 6d 65 20 62 79 20 |e tenth |time by |
|00000670| 6e 65 73 74 65 64 20 73 | 74 72 74 6f 6b 27 73 2e |nested s|trtok's.|
|00000680| 0a 0a 23 21 2f 62 69 6e | 2f 73 68 0a 23 20 54 68 |..#!/bin|/sh.# Th|
|00000690| 69 73 20 69 73 20 61 20 | 73 68 65 6c 6c 20 61 72 |is is a |shell ar|
|000006a0| 63 68 69 76 65 20 28 70 | 72 6f 64 75 63 65 64 20 |chive (p|roduced |
|000006b0| 62 79 20 73 68 61 72 20 | 33 2e 34 39 29 0a 23 20 |by shar |3.49).# |
|000006c0| 54 6f 20 65 78 74 72 61 | 63 74 20 74 68 65 20 66 |To extra|ct the f|
|000006d0| 69 6c 65 73 20 66 72 6f | 6d 20 74 68 69 73 20 61 |iles fro|m this a|
|000006e0| 72 63 68 69 76 65 2c 20 | 73 61 76 65 20 69 74 20 |rchive, |save it |
|000006f0| 74 6f 20 61 20 66 69 6c | 65 2c 20 72 65 6d 6f 76 |to a fil|e, remov|
|00000700| 65 0a 23 20 65 76 65 72 | 79 74 68 69 6e 67 20 61 |e.# ever|ything a|
|00000710| 62 6f 76 65 20 74 68 65 | 20 22 21 2f 62 69 6e 2f |bove the| "!/bin/|
|00000720| 73 68 22 20 6c 69 6e 65 | 20 61 62 6f 76 65 2c 20 |sh" line| above, |
|00000730| 61 6e 64 20 74 79 70 65 | 20 22 73 68 20 66 69 6c |and type| "sh fil|
|00000740| 65 5f 6e 61 6d 65 22 2e | 0a 23 0a 23 20 6d 61 64 |e_name".|.#.# mad|
|00000750| 65 20 30 35 2f 32 33 2f | 31 39 39 31 20 32 31 3a |e 05/23/|1991 21:|
|00000760| 35 38 20 55 54 43 20 62 | 79 20 72 6f 62 65 72 74 |58 UTC b|y robert|
|00000770| 40 69 73 67 74 65 63 2e | 55 55 43 50 0a 23 20 53 |@isgtec.|UUCP.# S|
|00000780| 6f 75 72 63 65 20 64 69 | 72 65 63 74 6f 72 79 20 |ource di|rectory |
|00000790| 2f 74 6d 70 5f 6d 6e 74 | 2f 68 6f 6d 65 2f 6a 6f |/tmp_mnt|/home/jo|
|000007a0| 6b 65 72 31 2f 72 6f 62 | 65 72 74 0a 23 0a 23 20 |ker1/rob|ert.#.# |
|000007b0| 65 78 69 73 74 69 6e 67 | 20 66 69 6c 65 73 20 77 |existing| files w|
|000007c0| 69 6c 6c 20 4e 4f 54 20 | 62 65 20 6f 76 65 72 77 |ill NOT |be overw|
|000007d0| 72 69 74 74 65 6e 20 75 | 6e 6c 65 73 73 20 2d 63 |ritten u|nless -c|
|000007e0| 20 69 73 20 73 70 65 63 | 69 66 69 65 64 0a 23 0a | is spec|ified.#.|
|000007f0| 23 20 54 68 69 73 20 73 | 68 61 72 20 63 6f 6e 74 |# This s|har cont|
|00000800| 61 69 6e 73 3a 0a 23 20 | 6c 65 6e 67 74 68 20 20 |ains:.# |length |
|00000810| 6d 6f 64 65 20 20 20 20 | 20 20 20 6e 61 6d 65 0a |mode | name.|
|00000820| 23 20 2d 2d 2d 2d 2d 2d | 20 2d 2d 2d 2d 2d 2d 2d |# ------| -------|
|00000830| 2d 2d 2d 20 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--- ----|--------|
|00000840| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000850| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 0a 23 |--------|------.#|
|00000860| 20 20 20 31 37 31 37 20 | 2d 72 77 2d 72 77 2d 72 | 1717 |-rw-rw-r|
|00000870| 2d 2d 20 6d 79 73 74 72 | 74 6f 6b 2e 63 0a 23 0a |-- mystr|tok.c.#.|
|00000880| 23 20 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 20 |# ======|======= |
|00000890| 6d 79 73 74 72 74 6f 6b | 2e 63 20 3d 3d 3d 3d 3d |mystrtok|.c =====|
|000008a0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 0a 69 66 20 74 65 73 |========|=.if tes|
|000008b0| 74 20 2d 66 20 27 6d 79 | 73 74 72 74 6f 6b 2e 63 |t -f 'my|strtok.c|
|000008c0| 27 20 2d 61 20 58 22 24 | 31 22 20 21 3d 20 58 22 |' -a X"$|1" != X"|
|000008d0| 2d 63 22 3b 20 74 68 65 | 6e 0a 09 65 63 68 6f 20 |-c"; the|n..echo |
|000008e0| 27 78 20 2d 20 73 6b 69 | 70 70 69 6e 67 20 6d 79 |'x - ski|pping my|
|000008f0| 73 74 72 74 6f 6b 2e 63 | 20 28 46 69 6c 65 20 61 |strtok.c| (File a|
|00000900| 6c 72 65 61 64 79 20 65 | 78 69 73 74 73 29 27 0a |lready e|xists)'.|
|00000910| 65 6c 73 65 0a 65 63 68 | 6f 20 27 78 20 2d 20 65 |else.ech|o 'x - e|
|00000920| 78 74 72 61 63 74 69 6e | 67 20 6d 79 73 74 72 74 |xtractin|g mystrt|
|00000930| 6f 6b 2e 63 20 28 54 65 | 78 74 29 27 0a 73 65 64 |ok.c (Te|xt)'.sed|
|00000940| 20 27 73 2f 5e 58 2f 2f | 27 20 3c 3c 20 27 53 48 | 's/^X//|' << 'SH|
|00000950| 41 52 5f 45 4f 46 27 20 | 3e 20 27 6d 79 73 74 72 |AR_EOF' |> 'mystr|
|00000960| 74 6f 6b 2e 63 27 20 26 | 26 0a 58 23 69 6e 63 6c |tok.c' &|&.X#incl|
|00000970| 75 64 65 20 3c 73 74 72 | 69 6e 67 2e 68 3e 0a 58 |ude <str|ing.h>.X|
|00000980| 2f 2a 0a 58 2a 2a 20 24 | 49 64 3a 20 73 74 72 74 |/*.X** $|Id: strt|
|00000990| 6f 6b 6e 73 74 2e 63 2c | 76 20 31 2e 31 20 31 39 |oknst.c,|v 1.1 19|
|000009a0| 39 31 2f 30 33 2f 31 33 | 20 32 32 3a 31 31 3a 30 |91/03/13| 22:11:0|
|000009b0| 36 20 72 6f 62 65 72 74 | 20 45 78 70 20 24 0a 58 |6 robert| Exp $.X|
|000009c0| 2a 2a 0a 58 2a 2a 20 20 | 54 68 69 73 20 69 73 20 |**.X** |This is |
|000009d0| 61 20 63 6c 6f 6e 65 20 | 6f 66 20 73 74 72 74 6f |a clone |of strto|
|000009e0| 6b 20 74 68 61 74 20 74 | 61 6b 65 73 20 61 6e 6f |k that t|akes ano|
|000009f0| 74 68 65 72 20 61 72 67 | 75 6d 65 6e 74 0a 58 2a |ther arg|ument.X*|
|00000a00| 2a 20 20 61 20 63 68 61 | 72 20 70 6f 69 6e 74 65 |* a cha|r pointe|
|00000a10| 72 20 28 61 73 73 75 6d | 65 64 20 75 6e 63 68 61 |r (assum|ed uncha|
|00000a20| 6e 67 65 64 20 62 65 74 | 77 65 65 6e 20 63 61 6c |nged bet|ween cal|
|00000a30| 6c 73 21 29 0a 58 2a 2a | 20 20 74 68 61 74 20 61 |ls!).X**| that a|
|00000a40| 6c 6c 6f 77 73 20 6e 65 | 73 74 65 64 20 75 73 65 |llows ne|sted use|
|00000a50| 29 0a 58 2a 2a 0a 58 2a | 2a 20 20 49 20 68 65 72 |).X**.X*|* I her|
|00000a60| 65 62 79 20 72 65 6c 65 | 61 73 65 20 74 68 69 73 |eby rele|ase this|
|00000a70| 20 66 75 6e 63 74 69 6f | 6e 20 69 6e 74 6f 20 74 | functio|n into t|
|00000a80| 68 65 20 70 75 62 6c 69 | 63 20 64 6f 6d 61 69 6e |he publi|c domain|
|00000a90| 2e 0a 58 2a 2a 09 52 6f | 62 65 72 74 20 4f 73 62 |..X**.Ro|bert Osb|
|00000aa0| 6f 72 6e 65 2c 20 31 39 | 39 30 2e 0a 58 2a 2f 0a |orne, 19|90..X*/.|
|00000ab0| 58 63 68 61 72 20 2a 0a | 58 73 74 72 74 6f 6b 6e |Xchar *.|Xstrtokn|
|00000ac0| 73 74 28 73 31 2c 20 73 | 32 2c 20 70 74 72 29 0a |st(s1, s|2, ptr).|
|00000ad0| 58 09 63 68 61 72 20 2a | 73 31 3b 0a 58 09 63 68 |X.char *|s1;.X.ch|
|00000ae0| 61 72 20 2a 73 32 3b 0a | 58 09 63 68 61 72 20 2a |ar *s2;.|X.char *|
|00000af0| 2a 70 74 72 3b 0a 58 7b | 0a 58 09 72 65 67 69 73 |*ptr;.X{|.X.regis|
|00000b00| 74 65 72 20 63 68 61 72 | 20 2a 66 69 72 73 74 2c |ter char| *first,|
|00000b10| 20 2a 73 65 63 6f 6e 64 | 2c 20 2a 74 68 69 72 64 | *second|, *third|
|00000b20| 3b 0a 58 09 69 66 28 20 | 73 31 20 29 20 7b 0a 58 |;.X.if( |s1 ) {.X|
|00000b30| 09 09 2a 70 74 72 20 3d | 20 73 31 3b 0a 58 09 7d |..*ptr =| s1;.X.}|
|00000b40| 0a 58 09 69 66 28 20 21 | 2a 70 74 72 20 29 20 72 |.X.if( !|*ptr ) r|
|00000b50| 65 74 75 72 6e 20 28 63 | 68 61 72 20 2a 29 20 30 |eturn (c|har *) 0|
|00000b60| 3b 0a 58 09 66 69 72 73 | 74 20 3d 20 2a 70 74 72 |;.X.firs|t = *ptr|
|00000b70| 20 2b 20 73 74 72 73 70 | 6e 28 2a 70 74 72 2c 20 | + strsp|n(*ptr, |
|00000b80| 73 32 29 3b 0a 58 09 69 | 66 28 20 2a 66 69 72 73 |s2);.X.i|f( *firs|
|00000b90| 74 20 3d 3d 20 27 5c 30 | 27 20 29 20 72 65 74 75 |t == '\0|' ) retu|
|00000ba0| 72 6e 20 28 63 68 61 72 | 20 2a 29 30 3b 0a 58 09 |rn (char| *)0;.X.|
|00000bb0| 73 65 63 6f 6e 64 20 3d | 20 66 69 72 73 74 20 2b |second =| first +|
|00000bc0| 20 73 74 72 63 73 70 6e | 28 66 69 72 73 74 2c 20 | strcspn|(first, |
|00000bd0| 73 32 29 3b 0a 58 09 69 | 66 28 20 2a 73 65 63 6f |s2);.X.i|f( *seco|
|00000be0| 6e 64 20 3d 3d 20 27 5c | 30 27 20 29 20 7b 0a 58 |nd == '\|0' ) {.X|
|00000bf0| 09 09 2a 70 74 72 20 3d | 20 28 63 68 61 72 20 2a |..*ptr =| (char *|
|00000c00| 29 20 30 3b 0a 58 09 7d | 0a 58 09 65 6c 73 65 20 |) 0;.X.}|.X.else |
|00000c10| 7b 0a 58 09 09 2a 70 74 | 72 20 3d 20 73 65 63 6f |{.X..*pt|r = seco|
|00000c20| 6e 64 20 2b 20 73 74 72 | 73 70 6e 28 73 65 63 6f |nd + str|spn(seco|
|00000c30| 6e 64 2c 20 73 32 29 3b | 0a 58 09 09 69 66 28 20 |nd, s2);|.X..if( |
|00000c40| 2a 2a 70 74 72 20 3d 3d | 20 27 5c 30 27 20 29 20 |**ptr ==| '\0' ) |
|00000c50| 7b 0a 58 09 09 09 2a 70 | 74 72 20 3d 20 28 63 68 |{.X...*p|tr = (ch|
|00000c60| 61 72 20 2a 29 20 30 3b | 0a 58 09 09 7d 0a 58 09 |ar *) 0;|.X..}.X.|
|00000c70| 09 2a 73 65 63 6f 6e 64 | 20 3d 20 27 5c 30 27 3b |.*second| = '\0';|
|00000c80| 20 0a 58 09 7d 0a 58 09 | 72 65 74 75 72 6e 20 66 | .X.}.X.|return f|
|00000c90| 69 72 73 74 3b 0a 58 7d | 0a 58 23 69 66 64 65 66 |irst;.X}|.X#ifdef|
|00000ca0| 20 54 45 53 54 49 4e 47 | 0a 58 0a 58 6d 61 69 6e | TESTING|.X.Xmain|
|00000cb0| 28 29 0a 58 7b 0a 58 09 | 63 68 61 72 20 2a 74 6d |().X{.X.|char *tm|
|00000cc0| 70 2c 20 2a 74 6d 70 32 | 3b 0a 58 09 63 68 61 72 |p, *tmp2|;.X.char|
|00000cd0| 20 2a 73 74 72 2c 20 2a | 73 74 72 32 3b 0a 58 09 | *str, *|str2;.X.|
|00000ce0| 0a 58 09 70 72 69 6e 74 | 66 28 22 74 65 73 74 20 |.X.print|f("test |
|00000cf0| 31 5c 6e 22 29 3b 0a 58 | 09 66 6f 72 28 73 74 72 |1\n");.X|.for(str|
|00000d00| 20 3d 20 73 74 72 74 6f | 6b 6e 73 74 28 22 20 20 | = strto|knst(" |
|00000d10| 61 61 61 61 5c 74 20 62 | 62 62 62 20 63 63 63 63 |aaaa\t b|bbb cccc|
|00000d20| 5c 74 64 64 64 64 20 20 | 20 20 22 2c 20 22 5c 74 |\tdddd | ", "\t|
|00000d30| 20 22 2c 20 26 74 6d 70 | 29 3b 0a 58 09 09 73 74 | ", &tmp|);.X..st|
|00000d40| 72 3b 0a 58 09 09 73 74 | 72 20 3d 20 73 74 72 74 |r;.X..st|r = strt|
|00000d50| 6f 6b 6e 73 74 28 28 63 | 68 61 72 20 2a 29 20 30 |oknst((c|har *) 0|
|00000d60| 2c 20 22 5c 74 20 22 2c | 20 26 74 6d 70 29 20 29 |, "\t ",| &tmp) )|
|00000d70| 0a 58 09 7b 0a 58 09 09 | 09 70 72 69 6e 74 66 28 |.X.{.X..|.printf(|
|00000d80| 22 5c 22 25 73 5c 22 5c | 6e 22 2c 20 73 74 72 29 |"\"%s\"\|n", str)|
|00000d90| 3b 0a 58 09 7d 0a 58 09 | 70 72 69 6e 74 66 28 22 |;.X.}.X.|printf("|
|00000da0| 74 65 73 74 20 32 5c 6e | 22 29 3b 0a 58 09 66 6f |test 2\n|");.X.fo|
|00000db0| 72 28 73 74 72 20 3d 20 | 73 74 72 74 6f 6b 6e 73 |r(str = |strtokns|
|00000dc0| 74 28 22 61 61 61 61 5c | 74 20 62 62 62 62 20 63 |t("aaaa\|t bbbb c|
|00000dd0| 63 63 63 5c 74 64 64 64 | 64 20 20 20 20 22 2c 20 |ccc\tddd|d ", |
|00000de0| 22 5c 74 20 22 2c 20 26 | 74 6d 70 29 3b 0a 58 09 |"\t ", &|tmp);.X.|
|00000df0| 09 73 74 72 3b 0a 58 09 | 09 73 74 72 20 3d 20 73 |.str;.X.|.str = s|
|00000e00| 74 72 74 6f 6b 6e 73 74 | 28 28 63 68 61 72 20 2a |trtoknst|((char *|
|00000e10| 29 20 30 2c 20 22 5c 74 | 20 22 2c 20 26 74 6d 70 |) 0, "\t| ", &tmp|
|00000e20| 29 20 29 0a 58 09 7b 0a | 58 09 09 09 70 72 69 6e |) ).X.{.|X...prin|
|00000e30| 74 66 28 22 5c 22 25 73 | 5c 22 5c 6e 22 2c 20 73 |tf("\"%s|\"\n", s|
|00000e40| 74 72 29 3b 0a 58 09 7d | 0a 58 09 70 72 69 6e 74 |tr);.X.}|.X.print|
|00000e50| 66 28 22 74 65 73 74 20 | 33 5c 6e 22 29 3b 0a 58 |f("test |3\n");.X|
|00000e60| 09 66 6f 72 28 73 74 72 | 20 3d 20 73 74 72 74 6f |.for(str| = strto|
|00000e70| 6b 6e 73 74 28 22 20 20 | 61 61 61 61 5c 74 20 62 |knst(" |aaaa\t b|
|00000e80| 62 62 62 20 63 63 63 63 | 5c 74 64 64 64 64 22 2c |bbb cccc|\tdddd",|
|00000e90| 20 22 5c 74 20 22 2c 20 | 26 74 6d 70 29 3b 0a 58 | "\t ", |&tmp);.X|
|00000ea0| 09 09 73 74 72 3b 0a 58 | 09 09 73 74 72 20 3d 20 |..str;.X|..str = |
|00000eb0| 73 74 72 74 6f 6b 6e 73 | 74 28 28 63 68 61 72 20 |strtokns|t((char |
|00000ec0| 2a 29 20 30 2c 20 22 5c | 74 20 22 2c 20 26 74 6d |*) 0, "\|t ", &tm|
|00000ed0| 70 29 20 29 0a 58 09 7b | 0a 58 09 09 09 70 72 69 |p) ).X.{|.X...pri|
|00000ee0| 6e 74 66 28 22 5c 22 25 | 73 5c 22 5c 6e 22 2c 20 |ntf("\"%|s\"\n", |
|00000ef0| 73 74 72 29 3b 0a 58 09 | 7d 0a 58 09 70 72 69 6e |str);.X.|}.X.prin|
|00000f00| 74 66 28 22 74 65 73 74 | 20 34 5c 6e 22 29 3b 0a |tf("test| 4\n");.|
|00000f10| 58 09 66 6f 72 28 73 74 | 72 20 3d 20 73 74 72 74 |X.for(st|r = strt|
|00000f20| 6f 6b 6e 73 74 28 22 20 | 20 61 61 61 61 5c 74 20 |oknst(" | aaaa\t |
|00000f30| 62 62 62 62 20 20 5c 74 | 5c 74 20 20 5c 74 63 63 |bbbb \t|\t \tcc|
|00000f40| 63 63 5c 74 64 64 64 64 | 22 2c 20 22 5c 74 20 22 |cc\tdddd|", "\t "|
|00000f50| 2c 20 26 74 6d 70 29 3b | 0a 58 09 09 73 74 72 3b |, &tmp);|.X..str;|
|00000f60| 0a 58 09 09 73 74 72 20 | 3d 20 73 74 72 74 6f 6b |.X..str |= strtok|
|00000f70| 6e 73 74 28 28 63 68 61 | 72 20 2a 29 20 30 2c 20 |nst((cha|r *) 0, |
|00000f80| 22 5c 74 20 22 2c 20 26 | 74 6d 70 29 20 29 0a 58 |"\t ", &|tmp) ).X|
|00000f90| 09 7b 0a 58 09 09 70 72 | 69 6e 74 66 28 22 5c 22 |.{.X..pr|intf("\"|
|00000fa0| 25 73 5c 22 5c 6e 22 2c | 20 73 74 72 29 3b 0a 58 |%s\"\n",| str);.X|
|00000fb0| 09 09 66 6f 72 28 73 74 | 72 32 20 3d 20 73 74 72 |..for(st|r2 = str|
|00000fc0| 74 6f 6b 6e 73 74 28 22 | 20 20 41 41 41 41 5c 74 |toknst("| AAAA\t|
|00000fd0| 20 42 42 42 42 20 20 5c | 74 5c 74 20 20 5c 74 43 | BBBB \|t\t \tC|
|00000fe0| 43 43 43 5c 74 44 44 44 | 44 22 2c 20 22 5c 74 20 |CCC\tDDD|D", "\t |
|00000ff0| 22 2c 20 26 74 6d 70 32 | 29 3b 0a 58 09 09 09 09 |", &tmp2|);.X....|
|00001000| 09 73 74 72 32 3b 0a 58 | 09 09 09 73 74 72 32 20 |.str2;.X|...str2 |
|00001010| 3d 20 73 74 72 74 6f 6b | 6e 73 74 28 28 63 68 61 |= strtok|nst((cha|
|00001020| 72 20 2a 29 20 30 2c 20 | 22 5c 74 20 22 2c 20 26 |r *) 0, |"\t ", &|
|00001030| 74 6d 70 32 29 20 29 0a | 58 09 09 7b 0a 58 09 09 |tmp2) ).|X..{.X..|
|00001040| 09 70 72 69 6e 74 66 28 | 22 5c 22 25 73 5c 22 5c |.printf(|"\"%s\"\|
|00001050| 6e 22 2c 20 73 74 72 32 | 29 3b 0a 58 09 09 7d 0a |n", str2|);.X..}.|
|00001060| 58 09 7d 0a 58 7d 0a 58 | 23 65 6e 64 69 66 0a 53 |X.}.X}.X|#endif.S|
|00001070| 48 41 52 5f 45 4f 46 0a | 63 68 6d 6f 64 20 30 36 |HAR_EOF.|chmod 06|
|00001080| 36 34 20 6d 79 73 74 72 | 74 6f 6b 2e 63 20 7c 7c |64 mystr|tok.c |||
|00001090| 0a 65 63 68 6f 20 27 72 | 65 73 74 6f 72 65 20 6f |.echo 'r|estore o|
|000010a0| 66 20 6d 79 73 74 72 74 | 6f 6b 2e 63 20 66 61 69 |f mystrt|ok.c fai|
|000010b0| 6c 65 64 27 0a 57 63 5f | 63 3d 22 60 77 63 20 2d |led'.Wc_|c="`wc -|
|000010c0| 63 20 3c 20 27 6d 79 73 | 74 72 74 6f 6b 2e 63 27 |c < 'mys|trtok.c'|
|000010d0| 60 22 0a 74 65 73 74 20 | 31 37 31 37 20 2d 65 71 |`".test |1717 -eq|
|000010e0| 20 22 24 57 63 5f 63 22 | 20 7c 7c 0a 09 65 63 68 | "$Wc_c"| ||..ech|
|000010f0| 6f 20 27 6d 79 73 74 72 | 74 6f 6b 2e 63 3a 20 6f |o 'mystr|tok.c: o|
|00001100| 72 69 67 69 6e 61 6c 20 | 73 69 7a 65 20 31 37 31 |riginal |size 171|
|00001110| 37 2c 20 63 75 72 72 65 | 6e 74 20 73 69 7a 65 27 |7, curre|nt size'|
|00001120| 20 22 24 57 63 5f 63 22 | 0a 66 69 0a 65 78 69 74 | "$Wc_c"|.fi.exit|
|00001130| 20 30 0a | | 0. | |
+--------+-------------------------+-------------------------+--------+--------+