home *** CD-ROM | disk | FTP | other *** search
/ Source Code 1992 March / Source_Code_CD-ROM_Walnut_Creek_March_1992.iso / usenet / compsrcs / misc / volume02 / refer2.tex < prev    next >
SHell self-extracting ARchive  |  1991-08-27  |  10.2 KB

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: refer2.tex

ConfidenceProgramDetectionMatch TypeSupport
100% dexvert SHell self-extracting ARchive (archive/shar) magic Supported
100% dexvert Internet Message Format (text/imf) magic Supported
1% dexvert Corel 10 Texture (image/corel10Texture) ext Unsupported
1% dexvert Croteam texture file (image/croteamTextureFile) ext Unsupported
1% dexvert Text File (text/txt) fallback Supported
100% file C source text default
99% file C source, 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 application/mbox default



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 46 72 6f 6d 20 6d 69 70 | 6f 73 33 21 6f 6d 65 70 |From mip|os3!omep|
|00000010| 64 21 6c 69 74 74 6c 65 | 69 21 75 75 6e 65 74 21 |d!little|i!uunet!|
|00000020| 6c 6c 6c 2d 77 69 6e 6b | 65 6e 21 6c 6c 6c 2d 74 |lll-wink|en!lll-t|
|00000030| 69 73 21 61 6d 65 73 21 | 6d 61 69 6c 72 75 73 21 |is!ames!|mailrus!|
|00000040| 74 75 74 2e 63 69 73 2e | 6f 68 69 6f 2d 73 74 61 |tut.cis.|ohio-sta|
|00000050| 74 65 2e 65 64 75 21 68 | 75 73 63 36 21 6e 65 63 |te.edu!h|usc6!nec|
|00000060| 6e 74 63 21 6e 63 6f 61 | 73 74 21 61 6c 6c 62 65 |ntc!ncoa|st!allbe|
|00000070| 72 79 20 53 61 74 20 41 | 70 72 20 32 33 20 31 33 |ry Sat A|pr 23 13|
|00000080| 3a 33 36 3a 31 35 20 50 | 44 54 20 31 39 38 38 0a |:36:15 P|DT 1988.|
|00000090| 41 72 74 69 63 6c 65 20 | 33 35 30 20 6f 66 20 63 |Article |350 of c|
|000000a0| 6f 6d 70 2e 73 6f 75 72 | 63 65 73 2e 6d 69 73 63 |omp.sour|ces.misc|
|000000b0| 3a 0a 50 61 74 68 3a 20 | 74 64 32 63 61 64 21 6d |:.Path: |td2cad!m|
|000000c0| 69 70 6f 73 33 21 6f 6d | 65 70 64 21 6c 69 74 74 |ipos3!om|epd!litt|
|000000d0| 6c 65 69 21 75 75 6e 65 | 74 21 6c 6c 6c 2d 77 69 |lei!uune|t!lll-wi|
|000000e0| 6e 6b 65 6e 21 6c 6c 6c | 2d 74 69 73 21 61 6d 65 |nken!lll|-tis!ame|
|000000f0| 73 21 6d 61 69 6c 72 75 | 73 21 74 75 74 2e 63 69 |s!mailru|s!tut.ci|
|00000100| 73 2e 6f 68 69 6f 2d 73 | 74 61 74 65 2e 65 64 75 |s.ohio-s|tate.edu|
|00000110| 21 68 75 73 63 36 21 6e | 65 63 6e 74 63 21 6e 63 |!husc6!n|ecntc!nc|
|00000120| 6f 61 73 74 21 61 6c 6c | 62 65 72 79 0a 46 72 6f |oast!all|bery.Fro|
|00000130| 6d 3a 20 64 66 6b 40 64 | 75 6b 65 2e 63 73 2e 64 |m: dfk@d|uke.cs.d|
|00000140| 75 6b 65 2e 65 64 75 20 | 28 44 61 76 69 64 20 4b |uke.edu |(David K|
|00000150| 6f 74 7a 29 0a 4e 65 77 | 73 67 72 6f 75 70 73 3a |otz).New|sgroups:|
|00000160| 20 63 6f 6d 70 2e 73 6f | 75 72 63 65 73 2e 6d 69 | comp.so|urces.mi|
|00000170| 73 63 0a 53 75 62 6a 65 | 63 74 3a 20 76 30 32 69 |sc.Subje|ct: v02i|
|00000180| 30 39 37 3a 20 73 6f 75 | 72 63 65 73 20 66 6f 72 |097: sou|rces for|
|00000190| 20 72 65 66 65 72 20 3d | 3e 20 42 69 42 54 65 58 | refer =|> BiBTeX|
|000001a0| 20 63 6f 6e 76 65 72 73 | 69 6f 6e 0a 4b 65 79 77 | convers|ion.Keyw|
|000001b0| 6f 72 64 73 3a 20 72 65 | 66 65 72 32 74 65 78 2c |ords: re|fer2tex,|
|000001c0| 20 72 32 62 69 62 2e 63 | 20 62 69 62 66 69 78 2e | r2bib.c| bibfix.|
|000001d0| 73 65 64 0a 4d 65 73 73 | 61 67 65 2d 49 44 3a 20 |sed.Mess|age-ID: |
|000001e0| 3c 31 31 35 38 31 40 64 | 75 6b 65 2e 63 73 2e 64 |<11581@d|uke.cs.d|
|000001f0| 75 6b 65 2e 65 64 75 3e | 0a 44 61 74 65 3a 20 31 |uke.edu>|.Date: 1|
|00000200| 35 20 41 70 72 20 38 38 | 20 31 35 3a 32 32 3a 31 |5 Apr 88| 15:22:1|
|00000210| 31 20 47 4d 54 0a 53 65 | 6e 64 65 72 3a 20 61 6c |1 GMT.Se|nder: al|
|00000220| 6c 62 65 72 79 40 6e 63 | 6f 61 73 74 2e 55 55 43 |lbery@nc|oast.UUC|
|00000230| 50 0a 52 65 70 6c 79 2d | 54 6f 3a 20 64 66 6b 40 |P.Reply-|To: dfk@|
|00000240| 64 75 6b 65 2e 63 73 2e | 64 75 6b 65 2e 65 64 75 |duke.cs.|duke.edu|
|00000250| 20 28 44 61 76 69 64 20 | 4b 6f 74 7a 29 0a 4f 72 | (David |Kotz).Or|
|00000260| 67 61 6e 69 7a 61 74 69 | 6f 6e 3a 20 44 75 6b 65 |ganizati|on: Duke|
|00000270| 20 55 6e 69 76 65 72 73 | 69 74 79 20 43 53 20 44 | Univers|ity CS D|
|00000280| 65 70 74 2e 3b 20 44 75 | 72 68 61 6d 2c 20 4e 43 |ept.; Du|rham, NC|
|00000290| 0a 4c 69 6e 65 73 3a 20 | 34 36 32 0a 41 70 70 72 |.Lines: |462.Appr|
|000002a0| 6f 76 65 64 3a 20 61 6c | 6c 62 65 72 79 40 6e 63 |oved: al|lbery@nc|
|000002b0| 6f 61 73 74 2e 55 55 43 | 50 0a 0a 63 6f 6d 70 2e |oast.UUC|P..comp.|
|000002c0| 73 6f 75 72 63 65 73 2e | 6d 69 73 63 3a 20 56 6f |sources.|misc: Vo|
|000002d0| 6c 75 6d 65 20 32 2c 20 | 49 73 73 75 65 20 39 37 |lume 2, |Issue 97|
|000002e0| 0a 53 75 62 6d 69 74 74 | 65 64 2d 42 79 3a 20 22 |.Submitt|ed-By: "|
|000002f0| 44 61 76 69 64 20 4b 6f | 74 7a 22 20 3c 64 66 6b |David Ko|tz" <dfk|
|00000300| 40 64 75 6b 65 2e 63 73 | 2e 64 75 6b 65 2e 65 64 |@duke.cs|.duke.ed|
|00000310| 75 3e 0a 41 72 63 68 69 | 76 65 2d 4e 61 6d 65 3a |u>.Archi|ve-Name:|
|00000320| 20 72 65 66 65 72 32 74 | 65 78 0a 0a 23 21 20 2f | refer2t|ex..#! /|
|00000330| 62 69 6e 2f 73 68 0a 23 | 20 54 68 69 73 20 69 73 |bin/sh.#| This is|
|00000340| 20 61 20 73 68 65 6c 6c | 20 61 72 63 68 69 76 65 | a shell| archive|
|00000350| 2c 20 6d 65 61 6e 69 6e | 67 3a 0a 23 20 31 2e 20 |, meanin|g:.# 1. |
|00000360| 52 65 6d 6f 76 65 20 65 | 76 65 72 79 74 68 69 6e |Remove e|verythin|
|00000370| 67 20 61 62 6f 76 65 20 | 74 68 65 20 23 21 20 2f |g above |the #! /|
|00000380| 62 69 6e 2f 73 68 20 6c | 69 6e 65 2e 0a 23 20 32 |bin/sh l|ine..# 2|
|00000390| 2e 20 53 61 76 65 20 74 | 68 65 20 72 65 73 75 6c |. Save t|he resul|
|000003a0| 74 69 6e 67 20 74 65 78 | 74 20 69 6e 20 61 20 66 |ting tex|t in a f|
|000003b0| 69 6c 65 2e 0a 23 20 33 | 2e 20 45 78 65 63 75 74 |ile..# 3|. Execut|
|000003c0| 65 20 74 68 65 20 66 69 | 6c 65 20 77 69 74 68 20 |e the fi|le with |
|000003d0| 2f 62 69 6e 2f 73 68 20 | 28 6e 6f 74 20 63 73 68 |/bin/sh |(not csh|
|000003e0| 29 20 74 6f 20 63 72 65 | 61 74 65 20 74 68 65 20 |) to cre|ate the |
|000003f0| 66 69 6c 65 73 3a 0a 23 | 09 72 65 66 65 72 32 74 |files:.#|.refer2t|
|00000400| 65 78 0a 23 09 62 69 62 | 66 69 78 2e 73 65 64 0a |ex.#.bib|fix.sed.|
|00000410| 23 09 72 32 62 69 62 2e | 63 0a 23 20 54 68 69 73 |#.r2bib.|c.# This|
|00000420| 20 61 72 63 68 69 76 65 | 20 63 72 65 61 74 65 64 | archive| created|
|00000430| 3a 20 46 72 69 20 41 70 | 72 20 31 35 20 30 39 3a |: Fri Ap|r 15 09:|
|00000440| 31 37 3a 34 37 20 31 39 | 38 38 0a 65 78 70 6f 72 |17:47 19|88.expor|
|00000450| 74 20 50 41 54 48 3b 20 | 50 41 54 48 3d 2f 62 69 |t PATH; |PATH=/bi|
|00000460| 6e 3a 24 50 41 54 48 0a | 69 66 20 74 65 73 74 20 |n:$PATH.|if test |
|00000470| 2d 66 20 27 72 65 66 65 | 72 32 74 65 78 27 0a 74 |-f 'refe|r2tex'.t|
|00000480| 68 65 6e 0a 09 65 63 68 | 6f 20 73 68 61 72 3a 20 |hen..ech|o shar: |
|00000490| 77 69 6c 6c 20 6e 6f 74 | 20 6f 76 65 72 2d 77 72 |will not| over-wr|
|000004a0| 69 74 65 20 65 78 69 73 | 74 69 6e 67 20 66 69 6c |ite exis|ting fil|
|000004b0| 65 20 22 27 72 65 66 65 | 72 32 74 65 78 27 22 0a |e "'refe|r2tex'".|
|000004c0| 65 6c 73 65 0a 63 61 74 | 20 3c 3c 20 5c 53 48 41 |else.cat| << \SHA|
|000004d0| 52 5f 45 4f 46 20 3e 20 | 27 72 65 66 65 72 32 74 |R_EOF > |'refer2t|
|000004e0| 65 78 27 0a 23 21 2f 62 | 69 6e 2f 63 73 68 20 2d |ex'.#!/b|in/csh -|
|000004f0| 66 0a 23 0a 23 20 72 65 | 66 65 72 32 74 65 78 3a |f.#.# re|fer2tex:|
|00000500| 20 74 72 61 6e 73 6c 61 | 74 65 20 61 20 72 65 66 | transla|te a ref|
|00000510| 65 72 20 62 69 62 6c 69 | 6f 67 72 61 70 68 79 20 |er bibli|ography |
|00000520| 74 6f 20 61 20 62 69 62 | 74 65 78 20 6f 6e 65 2e |to a bib|tex one.|
|00000530| 0a 23 20 20 53 6f 72 74 | 20 6f 66 2e 20 49 74 20 |.# Sort| of. It |
|00000540| 6d 61 79 20 6e 65 65 64 | 20 73 6f 6d 65 20 6d 61 |may need| some ma|
|00000550| 6e 75 61 6c 20 68 65 6c | 70 20 62 75 74 20 74 68 |nual hel|p but th|
|00000560| 69 73 20 69 73 20 61 6e | 20 61 70 70 72 6f 78 69 |is is an| approxi|
|00000570| 6d 61 74 69 6f 6e 2e 0a | 23 0a 23 20 44 61 76 69 |mation..|#.# Davi|
|00000580| 64 20 4b 6f 74 7a 0a 23 | 0a 23 20 75 73 61 67 65 |d Kotz.#|.# usage|
|00000590| 3a 20 72 65 66 65 72 32 | 74 65 78 20 62 69 62 66 |: refer2|tex bibf|
|000005a0| 69 6c 65 0a 23 20 70 72 | 6f 64 75 63 65 73 20 62 |ile.# pr|oduces b|
|000005b0| 69 62 66 69 6c 65 2e 62 | 69 62 2c 20 69 6e 20 42 |ibfile.b|ib, in B|
|000005c0| 69 62 54 65 78 20 66 6f | 72 6d 61 74 0a 23 0a 0a |ibTex fo|rmat.#..|
|000005d0| 6f 6e 69 6e 74 72 20 63 | 6c 65 61 6e 75 70 0a 73 |onintr c|leanup.s|
|000005e0| 65 74 20 74 6d 70 3d 2f | 74 6d 70 2f 24 31 2e 66 |et tmp=/|tmp/$1.f|
|000005f0| 69 78 24 24 0a 0a 69 66 | 20 28 24 23 61 72 67 76 |ix$$..if| ($#argv|
|00000600| 20 3c 20 31 29 20 74 68 | 65 6e 0a 20 20 20 20 65 | < 1) th|en. e|
|00000610| 63 68 6f 20 75 73 61 67 | 65 3a 20 72 65 66 65 72 |cho usag|e: refer|
|00000620| 32 74 65 78 20 62 69 62 | 66 69 6c 65 0a 20 20 20 |2tex bib|file. |
|00000630| 20 65 78 69 74 0a 65 6e | 64 69 66 0a 0a 73 65 64 | exit.en|dif..sed|
|00000640| 20 2d 66 20 2f 75 73 72 | 2f 6c 6f 63 61 6c 2f 6e | -f /usr|/local/n|
|00000650| 65 77 2f 62 69 62 2f 62 | 69 62 66 69 78 2e 73 65 |ew/bib/b|ibfix.se|
|00000660| 64 20 24 31 20 3e 20 24 | 74 6d 70 0a 73 6f 72 74 |d $1 > $|tmp.sort|
|00000670| 62 69 62 20 2d 73 41 2b | 44 20 24 74 6d 70 20 7c |bib -sA+|D $tmp ||
|00000680| 20 72 32 62 69 62 20 3e | 20 24 31 2e 62 69 62 0a | r2bib >| $1.bib.|
|00000690| 0a 63 6c 65 61 6e 75 70 | 3a 0a 72 6d 20 2d 66 20 |.cleanup|:.rm -f |
|000006a0| 24 74 6d 70 0a 53 48 41 | 52 5f 45 4f 46 0a 63 68 |$tmp.SHA|R_EOF.ch|
|000006b0| 6d 6f 64 20 2b 78 20 27 | 72 65 66 65 72 32 74 65 |mod +x '|refer2te|
|000006c0| 78 27 0a 66 69 20 23 20 | 65 6e 64 20 6f 66 20 6f |x'.fi # |end of o|
|000006d0| 76 65 72 77 72 69 74 69 | 6e 67 20 63 68 65 63 6b |verwriti|ng check|
|000006e0| 0a 69 66 20 74 65 73 74 | 20 2d 66 20 27 62 69 62 |.if test| -f 'bib|
|000006f0| 66 69 78 2e 73 65 64 27 | 0a 74 68 65 6e 0a 09 65 |fix.sed'|.then..e|
|00000700| 63 68 6f 20 73 68 61 72 | 3a 20 77 69 6c 6c 20 6e |cho shar|: will n|
|00000710| 6f 74 20 6f 76 65 72 2d | 77 72 69 74 65 20 65 78 |ot over-|write ex|
|00000720| 69 73 74 69 6e 67 20 66 | 69 6c 65 20 22 27 62 69 |isting f|ile "'bi|
|00000730| 62 66 69 78 2e 73 65 64 | 27 22 0a 65 6c 73 65 0a |bfix.sed|'".else.|
|00000740| 63 61 74 20 3c 3c 20 5c | 53 48 41 52 5f 45 4f 46 |cat << \|SHAR_EOF|
|00000750| 20 3e 20 27 62 69 62 66 | 69 78 2e 73 65 64 27 0a | > 'bibf|ix.sed'.|
|00000760| 23 20 46 69 78 20 61 6e | 79 20 63 75 74 6f 66 66 |# Fix an|y cutoff|
|00000770| 20 6c 69 6e 65 73 0a 73 | 2f 5c 28 2e 2e 2a 5c 29 | lines.s|/\(..*\)|
|00000780| 25 41 2f 5c 31 20 28 43 | 55 54 20 4f 46 46 20 42 |%A/\1 (C|UT OFF B|
|00000790| 59 20 4c 4f 4f 4b 42 49 | 42 29 5c 0a 5c 0a 25 41 |Y LOOKBI|B)\.\.%A|
|000007a0| 2f 0a 0a 23 20 43 68 61 | 6e 67 65 20 73 6f 6d 65 |/..# Cha|nge some|
|000007b0| 20 5b 6e 74 5d 72 6f 66 | 66 20 67 61 72 62 61 67 | [nt]rof|f garbag|
|000007c0| 65 20 69 6e 74 6f 20 6c | 61 74 65 78 20 65 71 75 |e into l|atex equ|
|000007d0| 69 76 61 6c 65 6e 74 0a | 73 2f 5c 5c 28 63 6f 2f |ivalent.|s/\\(co/|
|000007e0| 5c 5c 63 6f 70 79 72 69 | 67 68 74 2f 67 0a 73 2f |\\copyri|ght/g.s/|
|000007f0| 5c 5c 66 49 2f 7b 5c 5c | 65 6d 20 2f 67 0a 73 2f |\\fI/{\\|em /g.s/|
|00000800| 5c 5c 66 42 2f 7b 5c 5c | 62 66 20 2f 67 0a 73 2f |\\fB/{\\|bf /g.s/|
|00000810| 5c 5c 66 52 2f 7d 2f 67 | 0a 73 2f 5c 5c 28 65 6d |\\fR/}/g|.s/\\(em|
|00000820| 2f 2d 2d 2d 2f 67 0a 73 | 2f 5c 5c 5c 2a 2d 2f 2d |/---/g.s|/\\\*-/-|
|00000830| 2d 2d 2f 67 0a 0a 23 20 | 74 68 65 73 65 20 6d 75 |--/g..# |these mu|
|00000840| 73 74 20 62 65 20 70 72 | 6f 74 65 63 74 65 64 20 |st be pr|otected |
|00000850| 61 67 61 69 6e 73 74 20 | 68 61 70 70 65 6e 69 6e |against |happenin|
|00000860| 67 20 74 77 69 63 65 0a | 23 20 74 68 69 73 20 63 |g twice.|# this c|
|00000870| 68 61 6e 67 65 73 20 26 | 20 74 6f 20 5c 26 0a 73 |hanges &| to \&.s|
|00000880| 2f 5c 28 5b 5e 5c 5c 5d | 5c 29 26 2f 5c 31 5c 5c |/\([^\\]|\)&/\1\\|
|00000890| 5c 26 2f 67 0a 23 20 74 | 68 69 73 20 63 68 61 6e |\&/g.# t|his chan|
|000008a0| 67 65 73 20 24 20 74 6f | 20 5c 24 0a 73 2f 5c 28 |ges $ to| \$.s/\(|
|000008b0| 5b 5e 5c 5c 5d 5c 29 5c | 24 2f 5c 31 5c 5c 5c 24 |[^\\]\)\|$/\1\\\$|
|000008c0| 2f 67 0a 23 20 74 68 69 | 73 20 63 68 61 6e 67 65 |/g.# thi|s change|
|000008d0| 73 20 2d 20 74 6f 20 2d | 2d 20 69 6e 20 70 61 67 |s - to -|- in pag|
|000008e0| 65 73 20 6c 69 6e 65 73 | 0a 2f 70 61 67 65 73 2f |es lines|./pages/|
|000008f0| 73 2f 5c 28 5b 5e 2d 5d | 5c 29 2d 5c 28 5b 5e 2d |s/\([^-]|\)-\([^-|
|00000900| 5d 5c 29 2f 5c 31 2d 2d | 5c 32 2f 67 0a 53 48 41 |]\)/\1--|\2/g.SHA|
|00000910| 52 5f 45 4f 46 0a 66 69 | 20 23 20 65 6e 64 20 6f |R_EOF.fi| # end o|
|00000920| 66 20 6f 76 65 72 77 72 | 69 74 69 6e 67 20 63 68 |f overwr|iting ch|
|00000930| 65 63 6b 0a 69 66 20 74 | 65 73 74 20 2d 66 20 27 |eck.if t|est -f '|
|00000940| 72 32 62 69 62 2e 63 27 | 0a 74 68 65 6e 0a 09 65 |r2bib.c'|.then..e|
|00000950| 63 68 6f 20 73 68 61 72 | 3a 20 77 69 6c 6c 20 6e |cho shar|: will n|
|00000960| 6f 74 20 6f 76 65 72 2d | 77 72 69 74 65 20 65 78 |ot over-|write ex|
|00000970| 69 73 74 69 6e 67 20 66 | 69 6c 65 20 22 27 72 32 |isting f|ile "'r2|
|00000980| 62 69 62 2e 63 27 22 0a | 65 6c 73 65 0a 63 61 74 |bib.c'".|else.cat|
|00000990| 20 3c 3c 20 5c 53 48 41 | 52 5f 45 4f 46 20 3e 20 | << \SHA|R_EOF > |
|000009a0| 27 72 32 62 69 62 2e 63 | 27 0a 2f 2a 20 72 32 62 |'r2bib.c|'./* r2b|
|000009b0| 69 62 20 2d 20 63 6f 6e | 76 65 72 74 20 72 65 66 |ib - con|vert ref|
|000009c0| 65 72 20 69 6e 70 75 74 | 20 66 69 6c 65 73 20 74 |er input| files t|
|000009d0| 6f 20 62 69 62 74 65 78 | 20 2e 62 69 62 20 66 69 |o bibtex| .bib fi|
|000009e0| 6c 65 73 0a 20 20 20 41 | 75 74 68 6f 72 20 2d 20 |les. A|uthor - |
|000009f0| 52 75 73 74 79 20 57 72 | 69 67 68 74 2c 20 43 65 |Rusty Wr|ight, Ce|
|00000a00| 6e 74 65 72 20 66 6f 72 | 20 4d 75 73 69 63 20 45 |nter for| Music E|
|00000a10| 78 70 65 72 69 6d 65 6e | 74 2c 20 55 43 53 44 0a |xperimen|t, UCSD.|
|00000a20| 20 20 20 4d 6f 64 69 66 | 69 65 64 20 62 79 20 2d | Modif|ied by -|
|00000a30| 20 52 6f 64 20 4f 6c 64 | 65 68 6f 65 66 74 2c 20 | Rod Old|ehoeft, |
|00000a40| 4c 4c 4e 4c 20 26 20 43 | 6f 6c 6f 72 61 64 6f 20 |LLNL & C|olorado |
|00000a50| 53 74 61 74 65 20 55 6e | 69 76 65 72 73 69 74 79 |State Un|iversity|
|00000a60| 3a 0a 46 72 6f 6d 3a 20 | 52 6f 64 20 4f 6c 64 65 |:.From: |Rod Olde|
|00000a70| 68 6f 65 66 74 20 3c 72 | 72 6f 40 6c 6c 6c 2d 63 |hoeft <r|ro@lll-c|
|00000a80| 72 67 2e 41 52 50 41 3e | 0a 20 20 20 20 20 20 31 |rg.ARPA>|. 1|
|00000a90| 2e 20 20 41 63 63 65 70 | 74 20 61 20 6c 6f 77 65 |. Accep|t a lowe|
|00000aa0| 72 2d 63 61 73 65 20 72 | 65 66 65 72 20 6c 65 74 |r-case r|efer let|
|00000ab0| 74 65 72 20 63 6f 64 65 | 20 61 73 20 77 65 6c 6c |ter code| as well|
|00000ac0| 20 61 73 20 75 70 70 65 | 72 20 63 61 73 65 0a 20 | as uppe|r case. |
|00000ad0| 20 20 20 20 20 32 2e 20 | 20 4d 61 70 20 22 25 58 | 2. | Map "%X|
|00000ae0| 22 20 72 65 66 65 72 20 | 65 6e 74 72 79 20 74 6f |" refer |entry to|
|00000af0| 20 22 6e 6f 74 65 3d 22 | 20 62 69 62 74 65 78 20 | "note="| bibtex |
|00000b00| 65 6e 74 72 79 0a 20 20 | 20 20 20 20 33 2e 20 20 |entry. | 3. |
|00000b10| 41 20 22 25 42 22 20 65 | 6e 74 72 79 20 72 65 73 |A "%B" e|ntry res|
|00000b20| 75 6c 74 73 20 69 6e 20 | 22 40 69 6e 62 6f 6f 6b |ults in |"@inbook|
|00000b30| 22 20 72 65 73 75 6c 74 | 0a 20 20 20 20 20 20 34 |" result|. 4|
|00000b40| 2e 20 20 55 73 65 20 7b | 7d 20 69 6e 73 74 65 61 |. Use {|} instea|
|00000b50| 64 20 6f 66 20 22 22 20 | 74 6f 20 62 72 61 63 6b |d of "" |to brack|
|00000b60| 65 74 20 6f 75 74 70 75 | 74 20 66 69 65 6c 64 73 |et outpu|t fields|
|00000b70| 0a 09 20 35 2e 20 20 4d | 61 70 20 22 25 4d 22 20 |.. 5. M|ap "%M" |
|00000b80| 74 6f 20 22 6d 6f 6e 74 | 68 3d 22 20 62 69 62 74 |to "mont|h=" bibt|
|00000b90| 65 78 20 65 6e 74 72 79 | 0a 09 20 36 2e 20 20 4d |ex entry|.. 6. M|
|00000ba0| 61 70 20 22 25 59 22 20 | 74 6f 20 22 79 65 61 72 |ap "%Y" |to "year|
|00000bb0| 3d 22 20 62 69 62 74 65 | 78 20 65 6e 74 72 79 0a |=" bibte|x entry.|
|00000bc0| 20 20 20 20 20 20 37 2e | 20 20 54 72 79 20 74 6f | 7.| Try to|
|00000bd0| 20 6d 61 6b 65 20 62 69 | 62 74 65 78 20 65 6e 74 | make bi|btex ent|
|00000be0| 72 79 20 6b 65 79 20 66 | 72 6f 6d 20 61 75 74 68 |ry key f|rom auth|
|00000bf0| 6f 72 20 69 6e 69 74 69 | 61 6c 73 20 61 6e 64 20 |or initi|als and |
|00000c00| 79 65 61 72 0a 20 20 20 | 4d 6f 64 69 66 69 65 64 |year. |Modified|
|00000c10| 20 62 79 20 44 61 76 69 | 64 20 4b 6f 74 7a 2c 20 | by Davi|d Kotz, |
|00000c20| 44 75 6b 65 20 55 6e 69 | 76 65 72 73 69 74 79 20 |Duke Uni|versity |
|00000c30| 43 6f 6d 70 75 74 65 72 | 20 53 63 69 65 6e 63 65 |Computer| Science|
|00000c40| 20 28 64 66 6b 40 63 73 | 2e 64 75 6b 65 2e 65 64 | (dfk@cs|.duke.ed|
|00000c50| 75 29 3a 0a 20 20 20 31 | 2e 20 46 69 78 65 64 20 |u):. 1|. Fixed |
|00000c60| 61 20 62 75 67 20 28 69 | 6e 64 69 72 65 63 74 20 |a bug (i|ndirect |
|00000c70| 74 68 72 6f 75 67 68 20 | 4e 55 4c 4c 29 20 66 6f |through |NULL) fo|
|00000c80| 75 6e 64 20 77 68 65 6e | 20 72 75 6e 20 6f 6e 20 |und when| run on |
|00000c90| 53 75 6e 73 2e 0a 20 20 | 20 32 2e 20 4d 61 6b 65 |Suns.. | 2. Make|
|00000ca0| 20 74 68 65 20 6b 65 79 | 77 6f 72 64 20 67 65 6e | the key|word gen|
|00000cb0| 65 72 61 74 6f 72 20 73 | 6d 61 72 74 65 72 20 61 |erator s|marter a|
|00000cc0| 62 6f 75 74 20 64 61 74 | 65 73 20 61 6e 64 20 72 |bout dat|es and r|
|00000cd0| 65 70 65 61 74 65 64 20 | 65 6e 74 72 69 65 73 2e |epeated |entries.|
|00000ce0| 0a 20 20 20 20 20 20 54 | 6f 20 75 73 65 20 74 68 |. T|o use th|
|00000cf0| 69 73 20 65 66 66 65 63 | 74 69 76 65 6c 79 20 64 |is effec|tively d|
|00000d00| 6f 20 61 20 27 73 6f 72 | 74 62 69 62 20 2d 73 41 |o a 'sor|tbib -sA|
|00000d10| 2b 44 27 20 6f 6e 20 74 | 68 65 20 66 69 6c 65 20 |+D' on t|he file |
|00000d20| 62 65 66 6f 72 65 20 73 | 65 6e 64 69 6e 67 0a 09 |before s|ending..|
|00000d30| 20 69 74 20 74 68 72 6f | 75 67 68 20 68 65 72 65 | it thro|ugh here|
|00000d40| 2e 0a 20 20 20 33 2e 20 | 6d 61 70 20 25 4b 20 74 |.. 3. |map %K t|
|00000d50| 6f 20 6b 65 79 77 6f 72 | 64 73 20 61 6e 64 20 25 |o keywor|ds and %|
|00000d60| 58 20 74 6f 20 61 62 73 | 74 72 61 63 74 20 69 6e |X to abs|tract in|
|00000d70| 73 74 65 61 64 20 6f 66 | 20 6e 6f 74 65 2e 20 25 |stead of| note. %|
|00000d80| 4f 20 6d 61 70 73 20 74 | 6f 20 6e 6f 74 65 2e 0a |O maps t|o note..|
|00000d90| 2a 2f 0a 23 20 69 6e 63 | 6c 75 64 65 20 3c 63 74 |*/.# inc|lude <ct|
|00000da0| 79 70 65 2e 68 3e 0a 23 | 20 69 6e 63 6c 75 64 65 |ype.h>.#| include|
|00000db0| 20 3c 73 74 64 69 6f 2e | 68 3e 0a 0a 73 74 72 75 | <stdio.|h>..stru|
|00000dc0| 63 74 20 72 62 20 7b 0a | 09 63 68 61 72 09 72 62 |ct rb {.|.char.rb|
|00000dd0| 5f 6b 6c 3b 09 09 2f 2a | 20 72 65 66 65 72 20 6b |_kl;../*| refer k|
|00000de0| 65 79 20 6c 65 74 74 65 | 72 09 09 2a 2f 0a 09 63 |ey lette|r..*/..c|
|00000df0| 68 61 72 20 2a 09 72 62 | 5f 6b 77 3b 09 09 2f 2a |har *.rb|_kw;../*|
|00000e00| 20 62 69 62 74 65 78 20 | 73 74 72 69 6e 67 09 09 | bibtex |string..|
|00000e10| 2a 2f 0a 09 63 68 61 72 | 09 72 62 5f 65 6d 69 74 |*/..char|.rb_emit|
|00000e20| 3b 09 2f 2a 20 64 6f 6e | 27 74 20 70 72 69 6e 74 |;./* don|'t print|
|00000e30| 20 64 61 74 61 20 69 66 | 20 30 09 2a 2f 0a 09 63 | data if| 0.*/..c|
|00000e40| 68 61 72 20 2a 09 72 62 | 5f 64 61 74 61 3b 09 2f |har *.rb|_data;./|
|00000e50| 2a 20 72 65 66 65 72 20 | 64 61 74 61 09 09 09 2a |* refer |data...*|
|00000e60| 2f 0a 7d 3b 0a 0a 73 74 | 72 75 63 74 20 72 62 20 |/.};..st|ruct rb |
|00000e70| 72 62 5b 5d 20 3d 20 7b | 0a 09 7b 20 27 41 27 2c |rb[] = {|..{ 'A',|
|00000e80| 09 22 61 75 74 68 6f 72 | 22 2c 09 09 31 2c 09 4e |."author|",..1,.N|
|00000e90| 55 4c 4c 09 7d 2c 0a 09 | 7b 20 27 42 27 2c 09 22 |ULL.},..|{ 'B',."|
|00000ea0| 62 6f 6f 6b 74 69 74 6c | 65 22 2c 09 31 2c 09 4e |booktitl|e",.1,.N|
|00000eb0| 55 4c 4c 09 7d 2c 0a 09 | 7b 20 27 43 27 2c 09 22 |ULL.},..|{ 'C',."|
|00000ec0| 61 64 64 72 65 73 73 22 | 2c 09 31 2c 09 4e 55 4c |address"|,.1,.NUL|
|00000ed0| 4c 09 7d 2c 0a 09 7b 20 | 27 44 27 2c 09 22 79 65 |L.},..{ |'D',."ye|
|00000ee0| 61 72 22 2c 09 09 31 2c | 09 4e 55 4c 4c 09 7d 2c |ar",..1,|.NULL.},|
|00000ef0| 0a 09 7b 20 27 45 27 2c | 09 22 65 64 69 74 6f 72 |..{ 'E',|."editor|
|00000f00| 22 2c 09 09 31 2c 09 4e | 55 4c 4c 09 7d 2c 0a 2f |",..1,.N|ULL.},./|
|00000f10| 2a 09 7b 20 27 48 27 2c | 09 22 63 6f 6d 6d 65 6e |*.{ 'H',|."commen|
|00000f20| 74 61 72 79 31 22 2c 09 | 31 2c 09 4e 55 4c 4c 09 |tary1",.|1,.NULL.|
|00000f30| 7d 2c 2a 2f 0a 09 7b 20 | 27 49 27 2c 09 22 70 75 |},*/..{ |'I',."pu|
|00000f40| 62 6c 69 73 68 65 72 22 | 2c 09 31 2c 09 4e 55 4c |blisher"|,.1,.NUL|
|00000f50| 4c 09 7d 2c 0a 09 7b 20 | 27 4a 27 2c 09 22 6a 6f |L.},..{ |'J',."jo|
|00000f60| 75 72 6e 61 6c 22 2c 09 | 31 2c 09 4e 55 4c 4c 09 |urnal",.|1,.NULL.|
|00000f70| 7d 2c 0a 09 7b 20 27 4b | 27 2c 09 22 6b 65 79 77 |},..{ 'K|',."keyw|
|00000f80| 6f 72 64 73 22 2c 09 31 | 2c 09 4e 55 4c 4c 09 7d |ords",.1|,.NULL.}|
|00000f90| 2c 0a 09 7b 20 27 4c 27 | 2c 09 22 6c 61 62 65 6c |,..{ 'L'|,."label|
|00000fa0| 22 2c 09 09 30 2c 09 4e | 55 4c 4c 09 7d 2c 09 2f |",..0,.N|ULL.},./|
|00000fb0| 2a 20 75 73 65 20 61 73 | 20 62 69 62 74 65 78 20 |* use as| bibtex |
|00000fc0| 6b 65 79 20 2a 2f 0a 20 | 20 20 20 20 7b 20 27 4d |key */. | { 'M|
|00000fd0| 27 2c 09 22 6d 6f 6e 74 | 68 22 2c 09 09 31 2c 09 |',."mont|h",..1,.|
|00000fe0| 4e 55 4c 4c 20 7d 2c 0a | 09 7b 20 27 4e 27 2c 09 |NULL },.|.{ 'N',.|
|00000ff0| 22 6e 75 6d 62 65 72 22 | 2c 09 09 31 2c 09 4e 55 |"number"|,..1,.NU|
|00001000| 4c 4c 09 7d 2c 0a 09 7b | 20 27 4f 27 2c 09 22 6e |LL.},..{| 'O',."n|
|00001010| 6f 74 65 22 2c 09 09 31 | 2c 09 4e 55 4c 4c 09 7d |ote",..1|,.NULL.}|
|00001020| 2c 0a 09 7b 20 27 50 27 | 2c 09 22 70 61 67 65 73 |,..{ 'P'|,."pages|
|00001030| 22 2c 09 09 31 2c 09 4e | 55 4c 4c 09 7d 2c 0a 09 |",..1,.N|ULL.},..|
|00001040| 7b 20 27 51 27 2c 09 22 | 69 6e 73 74 69 74 75 74 |{ 'Q',."|institut|
|00001050| 69 6f 6e 22 2c 09 31 2c | 09 4e 55 4c 4c 09 7d 2c |ion",.1,|.NULL.},|
|00001060| 0a 09 7b 20 27 52 27 2c | 09 22 72 65 70 6f 72 74 |..{ 'R',|."report|
|00001070| 22 2c 09 09 30 2c 09 4e | 55 4c 4c 09 7d 2c 0a 09 |",..0,.N|ULL.},..|
|00001080| 7b 20 27 53 27 2c 09 22 | 73 65 72 69 65 73 22 2c |{ 'S',."|series",|
|00001090| 09 09 31 2c 09 4e 55 4c | 4c 09 7d 2c 0a 09 7b 20 |..1,.NUL|L.},..{ |
|000010a0| 27 54 27 2c 09 22 74 69 | 74 6c 65 22 2c 09 09 31 |'T',."ti|tle",..1|
|000010b0| 2c 09 4e 55 4c 4c 09 7d | 2c 0a 09 7b 20 27 56 27 |,.NULL.}|,..{ 'V'|
|000010c0| 2c 09 22 76 6f 6c 75 6d | 65 22 2c 09 09 31 2c 09 |,."volum|e",..1,.|
|000010d0| 4e 55 4c 4c 09 7d 2c 0a | 09 7b 20 27 58 27 2c 09 |NULL.},.|.{ 'X',.|
|000010e0| 22 61 62 73 74 72 61 63 | 74 22 2c 09 31 2c 09 4e |"abstrac|t",.1,.N|
|000010f0| 55 4c 4c 09 7d 2c 0a 09 | 7b 20 27 59 27 2c 09 22 |ULL.},..|{ 'Y',."|
|00001100| 79 65 61 72 22 2c 09 09 | 31 2c 09 4e 55 4c 4c 20 |year",..|1,.NULL |
|00001110| 7d 2c 0a 09 7b 20 30 2c | 09 30 2c 09 09 30 2c 09 |},..{ 0,|.0,..0,.|
|00001120| 30 09 7d 0a 7d 3b 0a 0a | 73 74 72 75 63 74 20 62 |0.}.};..|struct b|
|00001130| 6d 61 70 20 7b 0a 09 63 | 68 61 72 09 62 6d 5f 6b |map {..c|har.bm_k|
|00001140| 6c 3b 0a 09 63 68 61 72 | 09 2a 62 6d 5f 65 6e 74 |l;..char|.*bm_ent|
|00001150| 72 79 3b 0a 7d 3b 0a 0a | 2f 2a 0a 20 2a 20 65 6e |ry;.};..|/*. * en|
|00001160| 74 72 69 65 73 20 61 72 | 65 20 69 6e 20 6f 72 64 |tries ar|e in ord|
|00001170| 65 72 20 6f 66 20 70 72 | 65 63 65 64 65 6e 63 65 |er of pr|ecedence|
|00001180| 2e 0a 20 2a 20 61 6e 79 | 20 65 6e 74 72 79 20 77 |.. * any| entry w|
|00001190| 69 74 68 20 61 20 27 4a | 27 20 66 69 65 6c 64 20 |ith a 'J|' field |
|000011a0| 6d 75 73 74 20 62 65 0a | 20 2a 20 61 6e 20 61 72 |must be.| * an ar|
|000011b0| 74 69 63 6c 65 2c 20 62 | 75 74 20 61 6e 74 68 69 |ticle, b|ut anthi|
|000011c0| 6e 67 20 77 69 74 68 20 | 61 6e 20 27 49 27 0a 20 |ng with |an 'I'. |
|000011d0| 2a 20 66 69 65 6c 64 20 | 64 6f 65 73 6e 27 74 20 |* field |doesn't |
|000011e0| 68 61 76 65 20 74 6f 20 | 62 65 20 61 20 62 6f 6f |have to |be a boo|
|000011f0| 6b 20 28 69 66 0a 20 2a | 20 61 6e 20 65 6e 74 72 |k (if. *| an entr|
|00001200| 79 20 68 61 73 20 62 6f | 74 68 20 27 4a 27 20 61 |y has bo|th 'J' a|
|00001210| 6e 64 20 27 49 27 20 69 | 74 20 69 73 0a 20 2a 20 |nd 'I' i|t is. * |
|00001220| 63 6f 6e 73 69 64 65 72 | 65 64 20 74 6f 20 62 65 |consider|ed to be|
|00001230| 20 61 6e 20 61 72 74 69 | 63 6c 65 29 2e 0a 20 2a | an arti|cle).. *|
|00001240| 2f 0a 73 74 72 75 63 74 | 20 62 6d 61 70 09 62 6d |/.struct| bmap.bm|
|00001250| 61 70 5b 5d 20 3d 20 7b | 0a 09 7b 20 27 4a 27 2c |ap[] = {|..{ 'J',|
|00001260| 09 22 61 72 74 69 63 6c | 65 22 09 7d 2c 0a 09 7b |."articl|e".},..{|
|00001270| 20 27 52 27 2c 09 22 74 | 65 63 68 72 65 70 6f 72 | 'R',."t|echrepor|
|00001280| 74 22 09 7d 2c 0a 09 7b | 20 27 49 27 2c 09 22 62 |t".},..{| 'I',."b|
|00001290| 6f 6f 6b 22 09 7d 2c 0a | 09 7b 20 27 42 27 2c 09 |ook".},.|.{ 'B',.|
|000012a0| 22 69 6e 62 6f 6f 6b 22 | 09 7d 2c 0a 09 7b 20 30 |"inbook"|.},..{ 0|
|000012b0| 2c 09 30 09 09 7d 0a 7d | 3b 0a 0a 6d 61 69 6e 28 |,.0..}.}|;..main(|
|000012c0| 61 72 67 63 2c 20 61 72 | 67 76 29 0a 09 63 68 61 |argc, ar|gv)..cha|
|000012d0| 72 09 09 2a 2a 61 72 67 | 76 3b 0a 7b 0a 09 72 65 |r..**arg|v;.{..re|
|000012e0| 67 69 73 74 65 72 20 46 | 49 4c 45 09 2a 66 69 64 |gister F|ILE.*fid|
|000012f0| 3b 0a 09 72 65 67 69 73 | 74 65 72 20 69 6e 74 09 |;..regis|ter int.|
|00001300| 69 3b 0a 09 69 6e 74 09 | 09 65 72 72 3b 0a 0a 09 |i;..int.|.err;...|
|00001310| 65 72 72 20 3d 20 30 3b | 0a 0a 09 69 66 20 28 61 |err = 0;|...if (a|
|00001320| 72 67 63 20 3e 20 31 29 | 20 7b 0a 09 09 66 6f 72 |rgc > 1)| {...for|
|00001330| 20 28 69 20 3d 20 31 3b | 20 69 20 3c 20 61 72 67 | (i = 1;| i < arg|
|00001340| 63 3b 20 69 2b 2b 29 20 | 7b 0a 09 09 09 69 66 20 |c; i++) |{....if |
|00001350| 28 28 66 69 64 20 3d 20 | 66 6f 70 65 6e 28 61 72 |((fid = |fopen(ar|
|00001360| 67 76 5b 69 5d 2c 20 22 | 72 22 29 29 20 3d 3d 20 |gv[i], "|r")) == |
|00001370| 4e 55 4c 4c 29 20 7b 0a | 09 09 09 09 66 70 72 69 |NULL) {.|....fpri|
|00001380| 6e 74 66 28 73 74 64 65 | 72 72 2c 20 22 66 6f 70 |ntf(stde|rr, "fop|
|00001390| 65 6e 3a 20 22 29 3b 0a | 09 09 09 09 70 65 72 72 |en: ");.|....perr|
|000013a0| 6f 72 28 61 72 67 76 5b | 69 5d 29 3b 0a 09 09 09 |or(argv[|i]);....|
|000013b0| 09 63 6f 6e 74 69 6e 75 | 65 3b 0a 09 09 09 7d 0a |.continu|e;....}.|
|000013c0| 09 09 09 65 72 72 20 2b | 3d 20 72 32 62 69 62 28 |...err +|= r2bib(|
|000013d0| 61 72 67 76 5b 69 5d 2c | 20 66 69 64 29 3b 0a 09 |argv[i],| fid);..|
|000013e0| 09 7d 0a 09 7d 0a 09 65 | 6c 73 65 0a 09 09 65 72 |.}..}..e|lse...er|
|000013f0| 72 20 2b 3d 20 72 32 62 | 69 62 28 22 73 74 64 69 |r += r2b|ib("stdi|
|00001400| 6e 22 2c 20 73 74 64 69 | 6e 29 3b 0a 0a 09 69 66 |n", stdi|n);...if|
|00001410| 20 28 65 72 72 29 0a 09 | 09 65 78 69 74 28 31 29 | (err)..|.exit(1)|
|00001420| 3b 0a 0a 09 65 78 69 74 | 28 30 29 3b 0a 7d 0a 0a |;...exit|(0);.}..|
|00001430| 72 32 62 69 62 28 66 69 | 6c 65 2c 20 66 69 64 29 |r2bib(fi|le, fid)|
|00001440| 0a 09 63 68 61 72 09 09 | 2a 66 69 6c 65 3b 0a 09 |..char..|*file;..|
|00001450| 46 49 4c 45 09 09 2a 66 | 69 64 3b 0a 7b 0a 09 65 |FILE..*f|id;.{..e|
|00001460| 78 74 65 72 6e 20 63 68 | 61 72 09 2a 73 61 6e 7a |xtern ch|ar.*sanz|
|00001470| 28 29 3b 0a 09 72 65 67 | 69 73 74 65 72 20 63 68 |();..reg|ister ch|
|00001480| 61 72 09 2a 63 70 3b 0a | 09 73 74 72 75 63 74 20 |ar.*cp;.|.struct |
|00001490| 72 62 09 2a 6c 72 62 3b | 09 09 2f 2a 20 6c 61 73 |rb.*lrb;|../* las|
|000014a0| 74 20 72 62 20 73 74 6f | 72 65 64 20 69 6e 74 6f |t rb sto|red into|
|000014b0| 20 2a 2f 0a 09 69 6e 74 | 09 09 6c 69 6e 65 3b 0a | */..int|..line;.|
|000014c0| 09 63 68 61 72 09 09 62 | 75 66 5b 42 55 46 53 49 |.char..b|uf[BUFSI|
|000014d0| 5a 5d 3b 0a 09 69 6e 74 | 09 09 65 72 72 3b 0a 0a |Z];..int|..err;..|
|000014e0| 09 6c 72 62 20 3d 20 4e | 55 4c 4c 3b 0a 09 65 72 |.lrb = N|ULL;..er|
|000014f0| 72 20 3d 20 30 3b 0a 09 | 6c 69 6e 65 20 3d 20 30 |r = 0;..|line = 0|
|00001500| 3b 0a 0a 09 77 68 69 6c | 65 20 28 66 67 65 74 73 |;...whil|e (fgets|
|00001510| 28 62 75 66 2c 20 73 69 | 7a 65 6f 66 28 62 75 66 |(buf, si|zeof(buf|
|00001520| 29 2c 20 66 69 64 29 20 | 21 3d 20 4e 55 4c 4c 29 |), fid) |!= NULL)|
|00001530| 20 7b 0a 09 09 6c 69 6e | 65 2b 2b 3b 0a 0a 09 09 | {...lin|e++;....|
|00001540| 69 66 20 28 28 63 70 20 | 3d 20 73 61 6e 7a 28 62 |if ((cp |= sanz(b|
|00001550| 75 66 29 29 20 3d 3d 20 | 4e 55 4c 4c 29 20 7b 0a |uf)) == |NULL) {.|
|00001560| 09 09 09 69 66 20 28 6c | 72 62 20 21 3d 20 4e 55 |...if (l|rb != NU|
|00001570| 4c 4c 29 20 7b 0a 09 09 | 09 09 64 75 6d 70 72 62 |LL) {...|..dumprb|
|00001580| 28 29 3b 0a 09 09 09 09 | 6c 72 62 20 3d 20 4e 55 |();.....|lrb = NU|
|00001590| 4c 4c 3b 0a 09 09 09 7d | 0a 09 09 09 63 6f 6e 74 |LL;....}|....cont|
|000015a0| 69 6e 75 65 3b 0a 09 09 | 7d 0a 0a 09 09 2f 2a 0a |inue;...|}..../*.|
|000015b0| 09 09 20 2a 20 69 66 20 | 74 68 65 20 66 69 72 73 |.. * if |the firs|
|000015c0| 74 20 6c 65 74 74 65 72 | 20 69 73 20 61 20 25 20 |t letter| is a % |
|000015d0| 74 68 65 6e 20 69 74 27 | 73 20 74 68 65 0a 09 09 |then it'|s the...|
|000015e0| 20 2a 20 61 20 6e 65 77 | 20 72 65 63 6f 72 64 2c | * a new| record,|
|000015f0| 20 6f 74 68 65 72 77 69 | 73 65 20 69 74 27 73 20 | otherwi|se it's |
|00001600| 61 20 63 6f 6e 74 69 6e | 75 61 74 69 6f 6e 0a 09 |a contin|uation..|
|00001610| 09 20 2a 20 6f 66 20 74 | 68 65 20 70 72 65 76 69 |. * of t|he previ|
|00001620| 6f 75 73 20 6f 6e 65 2e | 0a 09 09 20 2a 2f 0a 09 |ous one.|... */..|
|00001630| 09 69 66 20 28 63 70 5b | 30 5d 20 3d 3d 20 27 25 |.if (cp[|0] == '%|
|00001640| 27 29 20 7b 0a 09 09 09 | 66 6f 72 20 28 6c 72 62 |') {....|for (lrb|
|00001650| 20 3d 20 26 72 62 5b 30 | 5d 3b 20 6c 72 62 2d 3e | = &rb[0|]; lrb->|
|00001660| 72 62 5f 6b 6c 20 21 3d | 20 30 3b 20 6c 72 62 2b |rb_kl !=| 0; lrb+|
|00001670| 2b 29 20 7b 0a 09 09 09 | 09 69 66 28 6c 72 62 2d |+) {....|.if(lrb-|
|00001680| 3e 72 62 5f 6b 6c 20 3d | 3d 20 28 69 73 6c 6f 77 |>rb_kl =|= (islow|
|00001690| 65 72 28 63 70 5b 31 5d | 29 20 3f 20 74 6f 75 70 |er(cp[1]|) ? toup|
|000016a0| 70 65 72 28 63 70 5b 31 | 5d 29 20 3a 20 63 70 5b |per(cp[1|]) : cp[|
|000016b0| 31 5d 29 29 7b 0a 09 09 | 09 09 09 73 74 75 66 66 |1])){...|...stuff|
|000016c0| 72 62 28 6c 72 62 2c 20 | 26 63 70 5b 32 5d 29 3b |rb(lrb, |&cp[2]);|
|000016d0| 0a 09 09 09 09 09 62 72 | 65 61 6b 3b 0a 09 09 09 |......br|eak;....|
|000016e0| 09 7d 0a 09 09 09 7d 0a | 09 09 09 69 66 20 28 6c |.}....}.|...if (l|
|000016f0| 72 62 2d 3e 72 62 5f 6b | 6c 20 3d 3d 20 30 29 20 |rb->rb_k|l == 0) |
|00001700| 7b 0a 09 09 09 09 66 70 | 72 69 6e 74 66 28 73 74 |{.....fp|rintf(st|
|00001710| 64 65 72 72 2c 20 22 72 | 32 62 3a 20 25 73 3a 20 |derr, "r|2b: %s: |
|00001720| 6c 69 6e 65 20 25 64 3a | 20 75 6e 6b 6e 6f 77 6e |line %d:| unknown|
|00001730| 20 6b 65 79 20 6c 65 74 | 74 65 72 20 25 63 2c 20 | key let|ter %c, |
|00001740| 69 67 6e 6f 72 69 6e 67 | 5c 6e 22 2c 20 66 69 6c |ignoring|\n", fil|
|00001750| 65 2c 20 6c 69 6e 65 2c | 20 63 70 5b 31 5d 29 3b |e, line,| cp[1]);|
|00001760| 0a 09 09 09 09 65 72 72 | 20 3d 20 31 3b 0a 09 09 |.....err| = 1;...|
|00001770| 09 7d 0a 09 09 7d 0a 09 | 09 65 6c 73 65 20 7b 0a |.}...}..|.else {.|
|00001780| 09 09 09 69 66 20 28 6c | 72 62 20 3d 3d 20 4e 55 |...if (l|rb == NU|
|00001790| 4c 4c 29 20 7b 0a 09 09 | 09 09 66 70 72 69 6e 74 |LL) {...|..fprint|
|000017a0| 66 28 73 74 64 65 72 72 | 2c 20 22 72 32 62 3a 20 |f(stderr|, "r2b: |
|000017b0| 25 73 3a 20 6c 69 6e 65 | 20 25 64 3a 20 62 61 64 |%s: line| %d: bad|
|000017c0| 20 66 6f 72 6d 61 74 2c | 20 69 67 6e 6f 72 69 6e | format,| ignorin|
|000017d0| 67 5c 6e 22 2c 20 66 69 | 6c 65 2c 20 6c 69 6e 65 |g\n", fi|le, line|
|000017e0| 29 3b 0a 09 09 09 09 65 | 72 72 20 3d 20 31 3b 0a |);.....e|rr = 1;.|
|000017f0| 09 09 09 09 63 6f 6e 74 | 69 6e 75 65 3b 0a 09 09 |....cont|inue;...|
|00001800| 09 7d 0a 0a 09 09 09 73 | 74 75 66 66 72 62 28 6c |.}.....s|tuffrb(l|
|00001810| 72 62 2c 20 26 63 70 5b | 30 5d 29 3b 0a 09 09 7d |rb, &cp[|0]);...}|
|00001820| 0a 09 7d 0a 0a 09 69 66 | 20 28 6c 72 62 20 21 3d |..}...if| (lrb !=|
|00001830| 20 4e 55 4c 4c 29 0a 09 | 09 64 75 6d 70 72 62 28 | NULL)..|.dumprb(|
|00001840| 29 3b 0a 0a 09 72 65 74 | 75 72 6e 28 65 72 72 29 |);...ret|urn(err)|
|00001850| 3b 0a 7d 0a 0a 23 64 65 | 66 69 6e 65 20 4b 45 59 |;.}..#de|fine KEY|
|00001860| 53 49 5a 20 31 30 30 09 | 09 09 2f 2a 20 68 6f 70 |SIZ 100.|../* hop|
|00001870| 65 66 75 6c 6c 79 20 6c | 6f 6e 67 20 65 6e 6f 75 |efully l|ong enou|
|00001880| 67 68 20 2a 2f 0a 0a 64 | 75 6d 70 72 62 28 29 20 |gh */..d|umprb() |
|00001890| 7b 0a 09 72 65 67 69 73 | 74 65 72 20 73 74 72 75 |{..regis|ter stru|
|000018a0| 63 74 20 72 62 09 2a 74 | 72 62 3b 0a 09 72 65 67 |ct rb.*t|rb;..reg|
|000018b0| 69 73 74 65 72 20 73 74 | 72 75 63 74 20 62 6d 61 |ister st|ruct bma|
|000018c0| 70 09 2a 62 6d 3b 0a 09 | 73 74 61 74 69 63 20 69 |p.*bm;..|static i|
|000018d0| 6e 74 09 09 6b 65 79 3b | 0a 09 63 68 61 72 09 09 |nt..key;|..char..|
|000018e0| 09 2a 62 69 62 6b 65 79 | 3b 0a 09 63 68 61 72 09 |.*bibkey|;..char.|
|000018f0| 09 09 2a 63 70 3b 0a 09 | 69 6e 74 09 09 09 66 69 |..*cp;..|int...fi|
|00001900| 72 73 74 3b 0a 09 73 74 | 61 74 69 63 20 63 68 61 |rst;..st|atic cha|
|00001910| 72 20 6c 61 73 74 6b 65 | 79 5b 4b 45 59 53 49 5a |r lastke|y[KEYSIZ|
|00001920| 5d 3b 09 2f 2a 20 74 68 | 65 20 70 72 65 76 69 6f |];./* th|e previo|
|00001930| 75 73 20 6b 65 79 20 77 | 65 20 6f 75 74 70 75 74 |us key w|e output|
|00001940| 20 2a 2f 0a 09 63 68 61 | 72 20 74 68 69 73 6b 65 | */..cha|r thiske|
|00001950| 79 5b 4b 45 59 53 49 5a | 5d 3b 09 2f 2a 20 6b 65 |y[KEYSIZ|];./* ke|
|00001960| 79 20 77 65 20 61 72 65 | 20 6e 6f 77 20 62 75 69 |y we are| now bui|
|00001970| 6c 64 69 6e 67 20 2a 2f | 0a 09 73 74 61 74 69 63 |lding */|..static|
|00001980| 20 69 6e 74 20 72 65 70 | 65 61 74 20 3d 20 30 3b | int rep|eat = 0;|
|00001990| 0a 0a 09 2f 2a 0a 09 20 | 2a 20 66 69 72 73 74 2c |.../*.. |* first,|
|000019a0| 20 66 69 67 75 72 65 20 | 6f 75 74 20 77 68 61 74 | figure |out what|
|000019b0| 20 74 79 70 65 20 6f 66 | 20 65 6e 74 72 79 20 74 | type of| entry t|
|000019c0| 68 69 73 0a 09 20 2a 20 | 69 73 2e 0a 09 20 2a 2f |his.. * |is... */|
|000019d0| 0a 09 66 6f 72 20 28 62 | 6d 20 3d 20 26 62 6d 61 |..for (b|m = &bma|
|000019e0| 70 5b 30 5d 3b 20 62 6d | 2d 3e 62 6d 5f 6b 6c 20 |p[0]; bm|->bm_kl |
|000019f0| 21 3d 20 30 3b 20 62 6d | 2b 2b 29 20 7b 0a 09 09 |!= 0; bm|++) {...|
|00001a00| 66 6f 72 20 28 74 72 62 | 20 3d 20 26 72 62 5b 30 |for (trb| = &rb[0|
|00001a10| 5d 3b 20 74 72 62 2d 3e | 72 62 5f 6b 6c 20 21 3d |]; trb->|rb_kl !=|
|00001a20| 20 30 3b 20 74 72 62 2b | 2b 29 20 7b 0a 09 09 09 | 0; trb+|+) {....|
|00001a30| 69 66 20 28 28 74 72 62 | 2d 3e 72 62 5f 6b 6c 20 |if ((trb|->rb_kl |
|00001a40| 3d 3d 20 62 6d 2d 3e 62 | 6d 5f 6b 6c 29 20 26 26 |== bm->b|m_kl) &&|
|00001a50| 20 28 74 72 62 2d 3e 72 | 62 5f 64 61 74 61 20 21 | (trb->r|b_data !|
|00001a60| 3d 20 4e 55 4c 4c 29 29 | 20 7b 0a 09 09 09 09 70 |= NULL))| {.....p|
|00001a70| 72 69 6e 74 66 28 22 40 | 25 73 7b 22 2c 20 62 6d |rintf("@|%s{", bm|
|00001a80| 2d 3e 62 6d 5f 65 6e 74 | 72 79 29 3b 0a 09 09 09 |->bm_ent|ry);....|
|00001a90| 09 67 6f 74 6f 20 6f 75 | 74 3b 0a 09 09 09 7d 0a |.goto ou|t;....}.|
|00001aa0| 09 09 7d 0a 09 7d 0a 6f | 75 74 3a 0a 09 69 66 20 |..}..}.o|ut:..if |
|00001ab0| 28 62 6d 2d 3e 62 6d 5f | 6b 6c 20 3d 3d 20 30 29 |(bm->bm_|kl == 0)|
|00001ac0| 0a 09 09 70 72 69 6e 74 | 66 28 22 40 6d 69 73 63 |...print|f("@misc|
|00001ad0| 7b 22 29 3b 0a 0a 09 2f | 2a 0a 09 20 2a 20 69 6e |{");.../|*.. * in|
|00001ae0| 20 6f 72 64 65 72 20 6f | 66 20 70 72 65 63 65 64 | order o|f preced|
|00001af0| 65 6e 63 65 3b 20 68 6f | 77 20 74 6f 20 64 65 74 |ence; ho|w to det|
|00001b00| 65 72 6d 69 6e 65 20 74 | 68 65 0a 09 20 2a 20 62 |ermine t|he.. * b|
|00001b10| 69 62 74 65 78 20 6b 65 | 79 3a 0a 09 20 2a 09 31 |ibtex ke|y:.. *.1|
|00001b20| 2e 20 75 73 65 20 63 61 | 70 69 74 61 6c 20 6c 65 |. use ca|pital le|
|00001b30| 74 74 65 72 73 20 66 72 | 6f 6d 20 25 41 2c 20 66 |tters fr|om %A, f|
|00001b40| 6f 6c 6c 6f 77 65 64 20 | 69 66 20 70 6f 73 73 69 |ollowed |if possi|
|00001b50| 62 6c 65 0a 20 20 20 20 | 20 20 2a 20 20 20 20 20 |ble. | * |
|00001b60| 20 62 79 20 74 68 65 20 | 74 77 6f 20 63 68 61 72 | by the |two char|
|00001b70| 73 20 61 66 74 65 72 20 | 22 31 39 22 20 69 6e 20 |s after |"19" in |
|00001b80| 25 44 20 6f 72 20 25 59 | 20 66 69 65 6c 64 2e 0a |%D or %Y| field..|
|00001b90| 09 20 2a 09 32 2e 20 6f | 74 68 65 72 77 69 73 65 |. *.2. o|therwise|
|00001ba0| 20 6a 75 73 74 20 75 73 | 65 20 74 68 65 20 73 74 | just us|e the st|
|00001bb0| 72 69 6e 67 20 22 6b 65 | 79 4e 22 20 77 68 65 72 |ring "ke|yN" wher|
|00001bc0| 65 20 4e 0a 09 20 2a 09 | 20 20 20 69 73 20 74 68 |e N.. *.| is th|
|00001bd0| 65 20 63 6f 75 6e 74 20 | 6f 66 20 74 68 69 73 20 |e count |of this |
|00001be0| 62 69 62 6c 69 6f 67 72 | 61 70 68 69 63 20 65 6e |bibliogr|aphic en|
|00001bf0| 74 72 79 20 69 6e 0a 09 | 20 2a 09 20 20 20 74 68 |try in..| *. th|
|00001c00| 65 20 72 65 66 65 72 20 | 66 69 6c 65 2e 0a 09 20 |e refer |file... |
|00001c10| 2a 2f 0a 0a 09 6b 65 79 | 2b 2b 3b 0a 09 62 69 62 |*/...key|++;..bib|
|00001c20| 6b 65 79 20 3d 20 74 68 | 69 73 6b 65 79 3b 0a 0a |key = th|iskey;..|
|00001c30| 09 66 6f 72 20 28 74 72 | 62 20 3d 20 26 72 62 5b |.for (tr|b = &rb[|
|00001c40| 30 5d 3b 20 74 72 62 2d | 3e 72 62 5f 6b 6c 20 21 |0]; trb-|>rb_kl !|
|00001c50| 3d 20 30 3b 20 74 72 62 | 2b 2b 29 20 7b 0a 09 09 |= 0; trb|++) {...|
|00001c60| 69 66 28 20 74 72 62 2d | 3e 72 62 5f 6b 6c 20 3d |if( trb-|>rb_kl =|
|00001c70| 3d 20 27 41 27 29 7b 0a | 09 09 09 69 66 28 20 74 |= 'A'){.|...if( t|
|00001c80| 72 62 2d 3e 72 62 5f 64 | 61 74 61 20 3d 3d 20 4e |rb->rb_d|ata == N|
|00001c90| 55 4c 4c 20 29 20 7b 0a | 09 09 09 09 73 70 72 69 |ULL ) {.|....spri|
|00001ca0| 6e 74 66 28 74 68 69 73 | 6b 65 79 2c 20 22 6b 65 |ntf(this|key, "ke|
|00001cb0| 79 25 64 2c 5c 6e 22 2c | 6b 65 79 29 3b 20 0a 09 |y%d,\n",|key); ..|
|00001cc0| 09 09 09 70 72 69 6e 74 | 66 28 22 6b 65 79 25 64 |...print|f("key%d|
|00001cd0| 22 2c 6b 65 79 29 3b 0a | 09 09 09 09 62 72 65 61 |",key);.|....brea|
|00001ce0| 6b 3b 0a 09 09 09 7d 65 | 6c 73 65 7b 0a 09 09 09 |k;....}e|lse{....|
|00001cf0| 09 66 6f 72 28 20 63 70 | 20 3d 20 74 72 62 2d 3e |.for( cp| = trb->|
|00001d00| 72 62 5f 64 61 74 61 3b | 20 2a 63 70 20 21 3d 20 |rb_data;| *cp != |
|00001d10| 4e 55 4c 4c 3b 20 63 70 | 2b 2b 20 29 20 7b 0a 09 |NULL; cp|++ ) {..|
|00001d20| 09 09 09 09 69 66 28 20 | 69 73 75 70 70 65 72 28 |....if( |isupper(|
|00001d30| 2a 63 70 29 29 20 7b 0a | 09 09 09 09 09 20 20 20 |*cp)) {.|..... |
|00001d40| 20 70 72 69 6e 74 66 28 | 22 25 63 22 2c 20 2a 63 | printf(|"%c", *c|
|00001d50| 70 29 3b 0a 09 09 09 09 | 09 20 20 20 20 2a 62 69 |p);.....|. *bi|
|00001d60| 62 6b 65 79 2b 2b 20 3d | 20 2a 63 70 3b 0a 09 09 |bkey++ =| *cp;...|
|00001d70| 09 09 09 7d 0a 09 09 09 | 09 7d 3b 0a 09 09 09 09 |...}....|.};.....|
|00001d80| 2a 62 69 62 6b 65 79 20 | 3d 20 27 5c 30 27 3b 0a |*bibkey |= '\0';.|
|00001d90| 09 09 09 7d 3b 0a 09 09 | 7d 65 6c 73 65 7b 20 69 |...};...|}else{ i|
|00001da0| 66 28 28 74 72 62 2d 3e | 72 62 5f 6b 6c 20 3d 3d |f((trb->|rb_kl ==|
|00001db0| 20 27 44 27 29 20 7c 7c | 20 28 74 72 62 2d 3e 72 | 'D') ||| (trb->r|
|00001dc0| 62 5f 6b 6c 20 3d 3d 20 | 27 59 27 29 29 20 7b 0a |b_kl == |'Y')) {.|
|00001dd0| 09 09 09 09 66 6f 72 28 | 20 63 70 20 3d 20 74 72 |....for(| cp = tr|
|00001de0| 62 2d 3e 72 62 5f 64 61 | 74 61 3b 20 63 70 20 21 |b->rb_da|ta; cp !|
|00001df0| 3d 20 4e 55 4c 4c 20 26 | 26 20 2a 63 70 20 21 3d |= NULL &|& *cp !=|
|00001e00| 20 4e 55 4c 4c 3b 20 63 | 70 2b 2b 20 29 20 7b 0a | NULL; c|p++ ) {.|
|00001e10| 09 09 09 09 09 69 66 28 | 69 73 64 69 67 69 74 28 |.....if(|isdigit(|
|00001e20| 63 70 5b 30 5d 29 20 26 | 26 20 69 73 64 69 67 69 |cp[0]) &|& isdigi|
|00001e30| 74 28 63 70 5b 31 5d 29 | 20 26 26 0a 09 09 09 09 |t(cp[1])| &&.....|
|00001e40| 09 20 20 20 69 73 64 69 | 67 69 74 28 63 70 5b 32 |. isdi|git(cp[2|
|00001e50| 5d 29 20 26 26 20 69 73 | 64 69 67 69 74 28 63 70 |]) && is|digit(cp|
|00001e60| 5b 33 5d 29 29 20 7b 0a | 09 09 09 09 09 20 20 20 |[3])) {.|..... |
|00001e70| 20 20 2a 62 69 62 6b 65 | 79 2b 2b 20 3d 20 63 70 | *bibke|y++ = cp|
|00001e80| 5b 32 5d 3b 0a 09 09 09 | 09 09 20 20 20 20 20 2a |[2];....|.. *|
|00001e90| 62 69 62 6b 65 79 2b 2b | 20 3d 20 63 70 5b 33 5d |bibkey++| = cp[3]|
|00001ea0| 3b 0a 09 09 09 09 09 09 | 70 72 69 6e 74 66 28 22 |;.......|printf("|
|00001eb0| 25 63 25 63 22 2c 20 63 | 70 5b 32 5d 2c 20 63 70 |%c%c", c|p[2], cp|
|00001ec0| 5b 33 5d 29 3b 0a 09 09 | 09 09 09 09 62 72 65 61 |[3]);...|....brea|
|00001ed0| 6b 3b 0a 09 09 09 09 09 | 7d 3b 0a 09 09 09 09 7d |k;......|};.....}|
|00001ee0| 3b 0a 09 09 09 09 2a 62 | 69 62 6b 65 79 20 3d 20 |;.....*b|ibkey = |
|00001ef0| 27 5c 30 27 3b 0a 09 09 | 09 09 62 72 65 61 6b 3b |'\0';...|..break;|
|00001f00| 0a 09 09 09 20 20 7d 3b | 0a 09 09 7d 3b 0a 09 7d |.... };|...};..}|
|00001f10| 3b 0a 0a 09 69 66 20 28 | 73 74 72 63 6d 70 28 74 |;...if (|strcmp(t|
|00001f20| 68 69 73 6b 65 79 2c 20 | 6c 61 73 74 6b 65 79 29 |hiskey, |lastkey)|
|00001f30| 20 3d 3d 20 30 29 20 7b | 0a 09 20 20 20 20 2f 2a | == 0) {|.. /*|
|00001f40| 20 6b 65 79 20 77 61 73 | 20 74 68 65 20 73 61 6d | key was| the sam|
|00001f50| 65 20 61 73 20 70 72 65 | 76 69 6f 75 73 3b 20 61 |e as pre|vious; a|
|00001f60| 64 64 20 61 20 6c 65 74 | 74 65 72 20 2a 2f 0a 09 |dd a let|ter */..|
|00001f70| 20 20 20 20 70 72 69 6e | 74 66 28 22 25 63 22 2c | prin|tf("%c",|
|00001f80| 20 27 61 27 20 2b 20 72 | 65 70 65 61 74 2b 2b 29 | 'a' + r|epeat++)|
|00001f90| 3b 0a 09 7d 20 65 6c 73 | 65 20 7b 0a 09 20 20 20 |;..} els|e {.. |
|00001fa0| 20 2f 2a 20 6b 65 79 20 | 64 69 66 66 65 72 65 64 | /* key |differed|
|00001fb0| 20 66 72 6f 6d 20 70 72 | 65 76 69 6f 75 73 2c 20 | from pr|evious, |
|00001fc0| 62 75 74 20 72 65 6d 65 | 6d 62 65 72 20 69 74 20 |but reme|mber it |
|00001fd0| 2a 2f 0a 09 20 20 20 20 | 73 74 72 63 70 79 28 6c |*/.. |strcpy(l|
|00001fe0| 61 73 74 6b 65 79 2c 20 | 74 68 69 73 6b 65 79 29 |astkey, |thiskey)|
|00001ff0| 3b 0a 09 20 20 20 20 72 | 65 70 65 61 74 20 3d 20 |;.. r|epeat = |
|00002000| 30 3b 0a 09 7d 0a 0a 09 | 70 72 69 6e 74 66 28 22 |0;..}...|printf("|
|00002010| 2c 5c 6e 22 29 3b 0a 0a | 09 66 69 72 73 74 20 3d |,\n");..|.first =|
|00002020| 20 31 3b 0a 0a 09 66 6f | 72 20 28 74 72 62 20 3d | 1;...fo|r (trb =|
|00002030| 20 26 72 62 5b 30 5d 3b | 20 74 72 62 2d 3e 72 62 | &rb[0];| trb->rb|
|00002040| 5f 6b 6c 20 21 3d 20 30 | 3b 20 74 72 62 2b 2b 29 |_kl != 0|; trb++)|
|00002050| 20 7b 0a 09 09 69 66 20 | 28 74 72 62 2d 3e 72 62 | {...if |(trb->rb|
|00002060| 5f 64 61 74 61 20 3d 3d | 20 4e 55 4c 4c 29 0a 09 |_data ==| NULL)..|
|00002070| 09 09 63 6f 6e 74 69 6e | 75 65 3b 0a 0a 09 09 69 |..contin|ue;....i|
|00002080| 66 20 28 74 72 62 2d 3e | 72 62 5f 65 6d 69 74 20 |f (trb->|rb_emit |
|00002090| 21 3d 20 30 29 20 7b 0a | 09 09 09 2f 2a 0a 09 09 |!= 0) {.|.../*...|
|000020a0| 09 20 2a 20 63 6c 61 6e | 6b 2c 0a 09 09 09 20 2a |. * clan|k,.... *|
|000020b0| 20 74 68 69 73 20 69 73 | 20 73 6f 20 74 68 61 74 | this is| so that|
|000020c0| 20 74 68 69 6e 67 73 20 | 77 69 6c 6c 20 6c 69 6e | things |will lin|
|000020d0| 65 20 75 70 2e 0a 09 09 | 09 20 2a 2f 0a 09 09 09 |e up....|. */....|
|000020e0| 69 66 20 28 73 74 72 6c | 65 6e 28 74 72 62 2d 3e |if (strl|en(trb->|
|000020f0| 72 62 5f 6b 77 29 20 3c | 20 36 29 0a 09 09 09 09 |rb_kw) <| 6).....|
|00002100| 63 70 20 3d 20 22 5c 74 | 5c 74 22 3b 0a 09 09 09 |cp = "\t|\t";....|
|00002110| 65 6c 73 65 0a 09 09 09 | 09 63 70 20 3d 20 22 5c |else....|.cp = "\|
|00002120| 74 22 3b 0a 0a 09 09 09 | 69 66 20 28 21 20 66 69 |t";.....|if (! fi|
|00002130| 72 73 74 29 0a 09 09 09 | 09 70 72 69 6e 74 66 28 |rst)....|.printf(|
|00002140| 22 2c 5c 6e 22 29 3b 0a | 0a 09 09 09 70 72 69 6e |",\n");.|....prin|
|00002150| 74 66 28 22 5c 74 25 73 | 20 3d 25 73 7b 25 73 7d |tf("\t%s| =%s{%s}|
|00002160| 22 2c 20 74 72 62 2d 3e | 72 62 5f 6b 77 2c 20 63 |", trb->|rb_kw, c|
|00002170| 70 2c 20 74 72 62 2d 3e | 72 62 5f 64 61 74 61 29 |p, trb->|rb_data)|
|00002180| 3b 0a 09 09 09 66 69 72 | 73 74 20 3d 20 30 3b 0a |;....fir|st = 0;.|
|00002190| 09 09 7d 0a 0a 09 09 28 | 76 6f 69 64 29 20 66 72 |..}....(|void) fr|
|000021a0| 65 65 28 74 72 62 2d 3e | 72 62 5f 64 61 74 61 29 |ee(trb->|rb_data)|
|000021b0| 3b 0a 09 09 74 72 62 2d | 3e 72 62 5f 64 61 74 61 |;...trb-|>rb_data|
|000021c0| 20 3d 20 4e 55 4c 4c 3b | 0a 09 7d 0a 0a 09 70 72 | = NULL;|..}...pr|
|000021d0| 69 6e 74 66 28 22 5c 6e | 7d 5c 6e 5c 6e 22 29 3b |intf("\n|}\n\n");|
|000021e0| 0a 7d 0a 0a 73 74 75 66 | 66 72 62 28 6c 72 62 2c |.}..stuf|frb(lrb,|
|000021f0| 20 63 70 29 0a 09 73 74 | 72 75 63 74 20 72 62 09 | cp)..st|ruct rb.|
|00002200| 2a 6c 72 62 3b 0a 09 63 | 68 61 72 09 09 2a 63 70 |*lrb;..c|har..*cp|
|00002210| 3b 0a 7b 0a 09 65 78 74 | 65 72 6e 20 63 68 61 72 |;.{..ext|ern char|
|00002220| 09 2a 61 6e 64 66 69 78 | 28 29 3b 0a 09 65 78 74 |.*andfix|();..ext|
|00002230| 65 72 6e 20 63 68 61 72 | 09 2a 6d 61 6c 6c 6f 63 |ern char|.*malloc|
|00002240| 28 29 3b 0a 09 65 78 74 | 65 72 6e 20 63 68 61 72 |();..ext|ern char|
|00002250| 09 2a 72 65 61 6c 6c 6f | 63 28 29 3b 0a 0a 09 2f |.*reallo|c();.../|
|00002260| 2a 20 65 6d 70 74 79 20 | 64 61 74 61 20 66 69 65 |* empty |data fie|
|00002270| 6c 64 20 2a 2f 0a 09 69 | 66 20 28 28 63 70 20 3d |ld */..i|f ((cp =|
|00002280| 20 73 61 6e 7a 28 63 70 | 29 29 20 3d 3d 20 4e 55 | sanz(cp|)) == NU|
|00002290| 4c 4c 29 0a 09 09 72 65 | 74 75 72 6e 3b 0a 0a 09 |LL)...re|turn;...|
|000022a0| 69 66 20 28 6c 72 62 2d | 3e 72 62 5f 6b 6c 20 3d |if (lrb-|>rb_kl =|
|000022b0| 3d 20 27 41 27 29 0a 09 | 09 63 70 20 3d 20 61 6e |= 'A')..|.cp = an|
|000022c0| 64 66 69 78 28 63 70 29 | 3b 0a 0a 09 69 66 20 28 |dfix(cp)|;...if (|
|000022d0| 6c 72 62 2d 3e 72 62 5f | 64 61 74 61 20 3d 3d 20 |lrb->rb_|data == |
|000022e0| 4e 55 4c 4c 29 20 7b 0a | 09 09 69 66 20 28 28 6c |NULL) {.|..if ((l|
|000022f0| 72 62 2d 3e 72 62 5f 64 | 61 74 61 20 3d 20 6d 61 |rb->rb_d|ata = ma|
|00002300| 6c 6c 6f 63 28 73 74 72 | 6c 65 6e 28 63 70 29 20 |lloc(str|len(cp) |
|00002310| 2b 20 31 29 29 20 3d 3d | 20 4e 55 4c 4c 29 20 7b |+ 1)) ==| NULL) {|
|00002320| 0a 09 09 09 70 65 72 72 | 6f 72 28 22 6d 61 6c 6c |....perr|or("mall|
|00002330| 6f 63 22 29 3b 0a 09 09 | 09 65 78 69 74 28 31 29 |oc");...|.exit(1)|
|00002340| 3b 0a 09 09 7d 0a 0a 09 | 09 73 74 72 63 70 79 28 |;...}...|.strcpy(|
|00002350| 6c 72 62 2d 3e 72 62 5f | 64 61 74 61 2c 20 63 70 |lrb->rb_|data, cp|
|00002360| 29 3b 0a 09 7d 0a 09 65 | 6c 73 65 20 7b 0a 09 09 |);..}..e|lse {...|
|00002370| 63 68 61 72 09 2a 63 6f | 6e 6a 3b 0a 0a 09 09 69 |char.*co|nj;....i|
|00002380| 66 20 28 6c 72 62 2d 3e | 72 62 5f 6b 6c 20 3d 3d |f (lrb->|rb_kl ==|
|00002390| 20 27 41 27 29 0a 09 09 | 09 63 6f 6e 6a 20 3d 20 | 'A')...|.conj = |
|000023a0| 22 20 61 6e 64 20 22 3b | 0a 09 09 65 6c 73 65 0a |" and ";|...else.|
|000023b0| 09 09 09 63 6f 6e 6a 20 | 3d 20 22 20 22 3b 0a 0a |...conj |= " ";..|
|000023c0| 09 09 69 66 20 28 28 6c | 72 62 2d 3e 72 62 5f 64 |..if ((l|rb->rb_d|
|000023d0| 61 74 61 20 3d 20 72 65 | 61 6c 6c 6f 63 28 6c 72 |ata = re|alloc(lr|
|000023e0| 62 2d 3e 72 62 5f 64 61 | 74 61 2c 20 73 74 72 6c |b->rb_da|ta, strl|
|000023f0| 65 6e 28 6c 72 62 2d 3e | 72 62 5f 64 61 74 61 29 |en(lrb->|rb_data)|
|00002400| 20 2b 20 73 74 72 6c 65 | 6e 28 63 70 29 20 2b 20 | + strle|n(cp) + |
|00002410| 73 74 72 6c 65 6e 28 63 | 6f 6e 6a 29 20 2b 20 31 |strlen(c|onj) + 1|
|00002420| 29 29 20 3d 3d 20 4e 55 | 4c 4c 29 20 7b 0a 09 09 |)) == NU|LL) {...|
|00002430| 09 70 65 72 72 6f 72 28 | 22 72 65 61 6c 6c 6f 63 |.perror(|"realloc|
|00002440| 22 29 3b 0a 09 09 09 65 | 78 69 74 28 31 29 3b 0a |");....e|xit(1);.|
|00002450| 09 09 7d 0a 0a 09 09 73 | 74 72 63 61 74 28 6c 72 |..}....s|trcat(lr|
|00002460| 62 2d 3e 72 62 5f 64 61 | 74 61 2c 20 63 6f 6e 6a |b->rb_da|ta, conj|
|00002470| 29 3b 0a 09 09 73 74 72 | 63 61 74 28 6c 72 62 2d |);...str|cat(lrb-|
|00002480| 3e 72 62 5f 64 61 74 61 | 2c 20 63 70 29 3b 0a 09 |>rb_data|, cp);..|
|00002490| 7d 0a 7d 0a 0a 2f 2a 0a | 20 2a 2f 0a 63 68 61 72 |}.}../*.| */.char|
|000024a0| 20 2a 0a 61 6e 64 66 69 | 78 28 73 74 72 69 6e 67 | *.andfi|x(string|
|000024b0| 29 0a 09 72 65 67 69 73 | 74 65 72 20 63 68 61 72 |)..regis|ter char|
|000024c0| 09 2a 73 74 72 69 6e 67 | 3b 0a 7b 0a 09 72 65 67 |.*string|;.{..reg|
|000024d0| 69 73 74 65 72 20 63 68 | 61 72 09 2a 74 6d 70 3b |ister ch|ar.*tmp;|
|000024e0| 0a 09 72 65 67 69 73 74 | 65 72 20 63 68 61 72 09 |..regist|er char.|
|000024f0| 2a 63 70 3b 0a 0a 09 74 | 6d 70 20 3d 20 73 74 72 |*cp;...t|mp = str|
|00002500| 69 6e 67 3b 0a 0a 09 66 | 6f 72 20 28 63 70 20 3d |ing;...f|or (cp =|
|00002510| 20 73 74 72 69 6e 67 3b | 20 2a 63 70 20 21 3d 20 | string;| *cp != |
|00002520| 4e 55 4c 4c 3b 20 63 70 | 2b 2b 29 20 7b 0a 09 09 |NULL; cp|++) {...|
|00002530| 69 66 20 28 73 74 72 6e | 63 6d 70 28 63 70 2c 20 |if (strn|cmp(cp, |
|00002540| 22 20 61 6e 64 20 22 2c | 20 35 29 20 3d 3d 20 30 |" and ",| 5) == 0|
|00002550| 29 20 7b 0a 09 09 09 2f | 2a 0a 09 09 09 20 2a 20 |) {..../|*.... * |
|00002560| 2b 32 20 66 6f 72 20 74 | 68 65 20 63 75 72 6c 79 |+2 for t|he curly|
|00002570| 20 62 72 61 63 65 73 20 | 61 72 6f 75 6e 64 20 22 | braces |around "|
|00002580| 7b 61 6e 64 7d 22 2c 0a | 09 09 09 20 2a 20 2b 31 |{and}",.|... * +1|
|00002590| 20 66 6f 72 20 74 68 65 | 20 6e 75 6c 6c 20 61 74 | for the| null at|
|000025a0| 20 74 68 65 20 65 6e 64 | 2e 0a 09 09 09 20 2a 2f | the end|..... */|
|000025b0| 0a 09 09 09 69 66 20 28 | 28 74 6d 70 20 3d 20 6d |....if (|(tmp = m|
|000025c0| 61 6c 6c 6f 63 28 73 74 | 72 6c 65 6e 28 73 74 72 |alloc(st|rlen(str|
|000025d0| 69 6e 67 29 20 2b 20 32 | 20 2b 20 31 29 29 20 3d |ing) + 2| + 1)) =|
|000025e0| 3d 20 4e 55 4c 4c 29 20 | 7b 0a 09 09 09 09 70 65 |= NULL) |{.....pe|
|000025f0| 72 72 6f 72 28 22 6d 61 | 6c 6c 6f 63 22 29 3b 0a |rror("ma|lloc");.|
|00002600| 09 09 09 09 65 78 69 74 | 28 31 29 3b 0a 09 09 09 |....exit|(1);....|
|00002610| 7d 0a 0a 09 09 09 73 74 | 72 6e 63 70 79 28 74 6d |}.....st|rncpy(tm|
|00002620| 70 2c 20 73 74 72 69 6e | 67 2c 20 63 70 20 2d 20 |p, strin|g, cp - |
|00002630| 73 74 72 69 6e 67 29 3b | 0a 09 09 09 74 6d 70 5b |string);|....tmp[|
|00002640| 63 70 20 2d 20 73 74 72 | 69 6e 67 5d 20 3d 20 4e |cp - str|ing] = N|
|00002650| 55 4c 4c 3b 20 2f 2a 20 | 73 74 72 6e 63 70 79 20 |ULL; /* |strncpy |
|00002660| 64 6f 65 73 6e 27 74 20 | 2a 2f 0a 09 09 09 73 74 |doesn't |*/....st|
|00002670| 72 63 61 74 28 74 6d 70 | 2c 20 22 20 7b 61 6e 64 |rcat(tmp|, " {and|
|00002680| 7d 20 22 29 3b 0a 09 09 | 09 73 74 72 63 61 74 28 |} ");...|.strcat(|
|00002690| 74 6d 70 2c 20 63 70 20 | 2b 20 35 29 3b 0a 09 09 |tmp, cp |+ 5);...|
|000026a0| 7d 0a 09 7d 0a 0a 09 72 | 65 74 75 72 6e 28 74 6d |}..}...r|eturn(tm|
|000026b0| 70 29 3b 0a 7d 0a 0a 63 | 68 61 72 20 2a 0a 73 61 |p);.}..c|har *.sa|
|000026c0| 6e 7a 28 62 70 29 0a 09 | 63 68 61 72 09 09 2a 62 |nz(bp)..|char..*b|
|000026d0| 70 3b 0a 7b 0a 09 72 65 | 67 69 73 74 65 72 20 63 |p;.{..re|gister c|
|000026e0| 68 61 72 09 2a 63 70 3b | 0a 0a 09 63 70 20 3d 20 |har.*cp;|...cp = |
|000026f0| 26 62 70 5b 73 74 72 6c | 65 6e 28 62 70 29 20 2d |&bp[strl|en(bp) -|
|00002700| 20 31 5d 3b 0a 0a 09 2f | 2a 0a 09 20 2a 20 62 61 | 1];.../|*.. * ba|
|00002710| 63 6b 20 75 70 20 6f 76 | 65 72 20 61 6e 79 20 73 |ck up ov|er any s|
|00002720| 70 61 63 65 73 20 63 68 | 61 72 73 0a 09 20 2a 2f |paces ch|ars.. */|
|00002730| 0a 09 77 68 69 6c 65 20 | 28 69 73 73 70 61 63 65 |..while |(isspace|
|00002740| 28 2a 63 70 29 20 26 26 | 20 28 63 70 20 3e 3d 20 |(*cp) &&| (cp >= |
|00002750| 62 70 29 29 0a 09 09 63 | 70 2d 2d 3b 0a 0a 09 69 |bp))...c|p--;...i|
|00002760| 66 20 28 63 70 20 3c 20 | 62 70 29 0a 09 09 72 65 |f (cp < |bp)...re|
|00002770| 74 75 72 6e 28 4e 55 4c | 4c 29 3b 09 2f 2a 20 65 |turn(NUL|L);./* e|
|00002780| 6d 70 74 79 20 6c 69 6e | 65 20 2a 2f 0a 0a 09 2a |mpty lin|e */...*|
|00002790| 2b 2b 63 70 20 3d 20 4e | 55 4c 4c 3b 0a 0a 09 77 |++cp = N|ULL;...w|
|000027a0| 68 69 6c 65 20 28 69 73 | 73 70 61 63 65 28 2a 62 |hile (is|space(*b|
|000027b0| 70 29 20 26 26 20 28 62 | 70 20 3c 20 63 70 29 29 |p) && (b|p < cp))|
|000027c0| 0a 09 09 62 70 2b 2b 3b | 0a 0a 09 69 66 20 28 63 |...bp++;|...if (c|
|000027d0| 70 20 3d 3d 20 62 70 29 | 0a 09 09 72 65 74 75 72 |p == bp)|...retur|
|000027e0| 6e 28 4e 55 4c 4c 29 3b | 09 2f 2a 20 65 6d 70 74 |n(NULL);|./* empt|
|000027f0| 79 20 6c 69 6e 65 20 2a | 2f 0a 0a 09 72 65 74 75 |y line *|/...retu|
|00002800| 72 6e 28 62 70 29 3b 0a | 7d 0a 53 48 41 52 5f 45 |rn(bp);.|}.SHAR_E|
|00002810| 4f 46 0a 66 69 20 23 20 | 65 6e 64 20 6f 66 20 6f |OF.fi # |end of o|
|00002820| 76 65 72 77 72 69 74 69 | 6e 67 20 63 68 65 63 6b |verwriti|ng check|
|00002830| 0a 23 09 45 6e 64 20 6f | 66 20 73 68 65 6c 6c 20 |.#.End o|f shell |
|00002840| 61 72 63 68 69 76 65 0a | 65 78 69 74 20 30 0a 2d |archive.|exit 0.-|
|00002850| 2d 20 0a 44 65 70 61 72 | 74 6d 65 6e 74 20 6f 66 |- .Depar|tment of|
|00002860| 20 43 6f 6d 70 75 74 65 | 72 20 53 63 69 65 6e 63 | Compute|r Scienc|
|00002870| 65 2c 20 44 75 6b 65 20 | 55 6e 69 76 65 72 73 69 |e, Duke |Universi|
|00002880| 74 79 2c 20 44 75 72 68 | 61 6d 2c 20 4e 43 20 32 |ty, Durh|am, NC 2|
|00002890| 37 37 30 36 0a 41 52 50 | 41 3a 09 64 66 6b 40 63 |7706.ARP|A:.dfk@c|
|000028a0| 73 2e 64 75 6b 65 2e 65 | 64 75 0a 43 53 4e 45 54 |s.duke.e|du.CSNET|
|000028b0| 3a 09 64 66 6b 40 64 75 | 6b 65 20 20 20 20 20 20 |:.dfk@du|ke |
|000028c0| 20 20 0a 55 55 43 50 3a | 09 7b 69 68 6e 70 34 21 | .UUCP:|.{ihnp4!|
|000028d0| 64 65 63 76 61 78 7d 21 | 64 75 6b 65 21 64 66 6b |decvax}!|duke!dfk|
|000028e0| 0a 0a 0a | |... | |
+--------+-------------------------+-------------------------+--------+--------+