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: LHArc Archive
(archive/lha).
You can browse this item here: TSM32s.lha
Confidence | Program | Detection | Match Type | Support
|
---|
100%
| dexvert
| LHArc Archive (archive/lha)
| magic
| Supported |
100%
| file
| LHarc 1.x/ARX archive data [lh0], with "ag2txt\ag2txt.c"
| default
| |
99%
| file
| data
| default
| |
100%
| TrID
| LHARC/LZARK compressed archive (generic)
| default
| |
100%
| lsar
| LZH
| default
| |
100%
| gt2
| LZH Archiv gefunden (Auflistung ist deaktiviert)
| default
| |
100%
| detectItEasy
| Archive: LHA archive (.LHA)(-lh0-)
| default
|
|
hex view+--------+-------------------------+-------------------------+--------+--------+
|00000000| 25 9a 2d 6c 68 30 2d 84 | 1d 00 00 84 1d 00 00 68 |%.-lh0-.|.......h|
|00000010| 6a 6c 1e 00 00 0f 61 67 | 32 74 78 74 5c 61 67 32 |jl....ag|2txt\ag2|
|00000020| 74 78 74 2e 63 f8 f6 2f | 2f 20 54 68 69 73 20 70 |txt.c../|/ This p|
|00000030| 72 6f 67 72 61 6d 20 69 | 73 20 66 72 65 65 20 73 |rogram i|s free s|
|00000040| 6f 66 74 77 61 72 65 3b | 20 79 6f 75 20 63 61 6e |oftware;| you can|
|00000050| 20 72 65 64 69 73 74 72 | 69 62 75 74 65 20 69 74 | redistr|ibute it|
|00000060| 20 61 6e 64 2f 6f 72 20 | 6d 6f 64 69 66 79 0a 2f | and/or |modify./|
|00000070| 2f 20 69 74 20 75 6e 64 | 65 72 20 74 68 65 20 74 |/ it und|er the t|
|00000080| 65 72 6d 73 20 6f 66 20 | 74 68 65 20 47 4e 55 20 |erms of |the GNU |
|00000090| 47 65 6e 65 72 61 6c 20 | 50 75 62 6c 69 63 20 4c |General |Public L|
|000000a0| 69 63 65 6e 73 65 20 61 | 73 20 70 75 62 6c 69 73 |icense a|s publis|
|000000b0| 68 65 64 20 62 79 0a 2f | 2f 20 74 68 65 20 46 72 |hed by./|/ the Fr|
|000000c0| 65 65 20 53 6f 66 74 77 | 61 72 65 20 46 6f 75 6e |ee Softw|are Foun|
|000000d0| 64 61 74 69 6f 6e 3b 20 | 65 69 74 68 65 72 20 76 |dation; |either v|
|000000e0| 65 72 73 69 6f 6e 20 32 | 20 6f 66 20 74 68 65 20 |ersion 2| of the |
|000000f0| 4c 69 63 65 6e 73 65 2c | 20 6f 72 0a 2f 2f 20 61 |License,| or.// a|
|00000100| 6e 79 20 6c 61 74 65 72 | 20 76 65 72 73 69 6f 6e |ny later| version|
|00000110| 2e 0a 0a 2f 2f 20 54 68 | 69 73 20 70 72 6f 67 72 |...// Th|is progr|
|00000120| 61 6d 20 69 73 20 64 69 | 73 74 72 69 62 75 74 65 |am is di|stribute|
|00000130| 64 20 69 6e 20 74 68 65 | 20 68 6f 70 65 20 74 68 |d in the| hope th|
|00000140| 61 74 20 69 74 20 77 69 | 6c 6c 20 62 65 20 75 73 |at it wi|ll be us|
|00000150| 65 66 75 6c 2c 0a 2f 2f | 20 62 75 74 20 57 49 54 |eful,.//| but WIT|
|00000160| 48 4f 55 54 20 41 4e 59 | 20 57 41 52 52 41 4e 54 |HOUT ANY| WARRANT|
|00000170| 59 3b 20 77 69 74 68 6f | 75 74 20 65 76 65 6e 20 |Y; witho|ut even |
|00000180| 74 68 65 20 69 6d 70 6c | 69 65 64 20 77 61 72 72 |the impl|ied warr|
|00000190| 61 6e 74 79 20 6f 66 0a | 2f 2f 20 4d 45 52 43 48 |anty of.|// MERCH|
|000001a0| 41 4e 54 41 42 49 4c 49 | 54 59 20 6f 72 20 46 49 |ANTABILI|TY or FI|
|000001b0| 54 4e 45 53 53 20 46 4f | 52 20 41 20 50 41 52 54 |TNESS FO|R A PART|
|000001c0| 49 43 55 4c 41 52 20 50 | 55 52 50 4f 53 45 2e 20 |ICULAR P|URPOSE. |
|000001d0| 20 53 65 65 20 74 68 65 | 0a 2f 2f 20 47 4e 55 20 | See the|.// GNU |
|000001e0| 47 65 6e 65 72 61 6c 20 | 50 75 62 6c 69 63 20 4c |General |Public L|
|000001f0| 69 63 65 6e 73 65 20 66 | 6f 72 20 6d 6f 72 65 20 |icense f|or more |
|00000200| 64 65 74 61 69 6c 73 2e | 0a 0a 2f 2f 20 59 6f 75 |details.|..// You|
|00000210| 20 73 68 6f 75 6c 64 20 | 68 61 76 65 20 72 65 63 | should |have rec|
|00000220| 65 69 76 65 64 20 61 20 | 63 6f 70 79 20 6f 66 20 |eived a |copy of |
|00000230| 74 68 65 20 47 4e 55 20 | 47 65 6e 65 72 61 6c 20 |the GNU |General |
|00000240| 50 75 62 6c 69 63 20 4c | 69 63 65 6e 73 65 0a 2f |Public L|icense./|
|00000250| 2f 20 61 6c 6f 6e 67 20 | 77 69 74 68 20 74 68 69 |/ along |with thi|
|00000260| 73 20 70 72 6f 67 72 61 | 6d 3b 20 69 66 20 6e 6f |s progra|m; if no|
|00000270| 74 2c 20 77 72 69 74 65 | 20 74 6f 20 74 68 65 20 |t, write| to the |
|00000280| 46 72 65 65 20 53 6f 66 | 74 77 61 72 65 0a 2f 2f |Free Sof|tware.//|
|00000290| 20 46 6f 75 6e 64 61 74 | 69 6f 6e 2c 20 49 6e 63 | Foundat|ion, Inc|
|000002a0| 2e 2c 20 36 37 35 20 4d | 61 73 73 20 41 76 65 2c |., 675 M|ass Ave,|
|000002b0| 20 43 61 6d 62 72 69 64 | 67 65 2c 20 4d 41 20 30 | Cambrid|ge, MA 0|
|000002c0| 32 31 33 39 2c 20 55 53 | 41 2e 0a 0a 2f 2f 20 6d |2139, US|A...// m|
|000002d0| 70 61 64 64 6f 63 6b 40 | 63 69 78 2e 63 6f 6d 70 |paddock@|cix.comp|
|000002e0| 75 6c 69 6e 6b 2e 63 6f | 2e 75 6b 0a 0a 2f 2f 20 |ulink.co|.uk..// |
|000002f0| 43 6f 6e 76 65 72 74 20 | 2e 67 75 69 64 65 20 66 |Convert |.guide f|
|00000300| 69 6c 65 20 28 4d 61 6b | 65 47 75 69 64 65 20 2d |ile (Mak|eGuide -|
|00000310| 2d 61 6d 69 67 61 2d 33 | 39 20 2e 2e 2e 29 20 74 |-amiga-3|9 ...) t|
|00000320| 6f 20 2e 64 6f 63 0a 0a | 2f 2f 20 54 68 69 73 20 |o .doc..|// This |
|00000330| 70 72 6f 67 72 61 6d 20 | 69 73 20 61 20 63 6f 6d |program |is a com|
|00000340| 70 6c 65 74 65 20 68 61 | 63 6b 20 77 68 69 63 68 |plete ha|ck which|
|00000350| 20 77 69 6c 6c 20 6f 6e | 6c 79 20 77 6f 72 6b 20 | will on|ly work |
|00000360| 69 6e 20 73 70 65 63 69 | 66 69 63 20 63 61 73 65 |in speci|fic case|
|00000370| 73 21 21 21 0a 2f 2f 20 | 49 74 20 69 73 20 62 61 |s!!!.// |It is ba|
|00000380| 73 65 64 20 6f 6e 20 41 | 47 32 54 58 54 20 66 72 |sed on A|G2TXT fr|
|00000390| 6f 6d 20 77 68 69 63 68 | 20 74 68 65 20 66 6f 6c |om which| the fol|
|000003a0| 6c 6f 77 69 6e 67 20 69 | 73 20 71 75 6f 74 65 64 |lowing i|s quoted|
|000003b0| 3a 0a 0a 2f 2f 20 54 68 | 69 73 20 70 72 6f 67 72 |:..// Th|is progr|
|000003c0| 61 6d 20 28 65 76 65 6e | 20 69 66 20 69 74 20 69 |am (even| if it i|
|000003d0| 73 20 73 6d 61 6c 6c 29 | 20 69 73 20 43 6f 70 79 |s small)| is Copy|
|000003e0| 72 69 67 68 74 20 28 63 | 29 20 31 39 39 33 20 4a |right (c|) 1993 J|
|000003f0| 61 73 6f 6e 20 52 2e 20 | 48 75 6c 61 6e 63 65 2e |ason R. |Hulance.|
|00000400| 0a 2f 2f 20 41 70 61 72 | 74 20 66 72 6f 6d 20 74 |.// Apar|t from t|
|00000410| 68 61 74 20 74 68 65 20 | 47 6e 75 20 50 75 62 6c |hat the |Gnu Publ|
|00000420| 69 63 20 4c 69 63 65 6e | 73 65 20 68 6f 6c 64 73 |ic Licen|se holds|
|00000430| 2e 20 20 59 6f 75 20 63 | 61 6e 20 63 6f 6e 74 61 |. You c|an conta|
|00000440| 63 74 20 6d 65 20 62 79 | 20 45 2d 6d 61 69 6c 0a |ct me by| E-mail.|
|00000450| 2f 2f 20 61 74 20 22 6d | 38 38 6a 72 68 40 65 63 |// at "m|88jrh@ec|
|00000460| 73 2e 6f 78 66 6f 72 64 | 2e 61 63 2e 75 6b 22 2e |s.oxford|.ac.uk".|
|00000470| 0a 0a 23 69 6e 63 6c 75 | 64 65 20 3c 73 74 64 69 |..#inclu|de <stdi|
|00000480| 6f 2e 68 3e 0a 23 69 6e | 63 6c 75 64 65 20 3c 70 |o.h>.#in|clude <p|
|00000490| 72 6f 74 6f 2f 64 6f 73 | 2e 68 3e 0a 23 69 6e 63 |roto/dos|.h>.#inc|
|000004a0| 6c 75 64 65 20 3c 73 74 | 72 69 6e 67 2e 68 3e 0a |lude <st|ring.h>.|
|000004b0| 23 69 6e 63 6c 75 64 65 | 20 3c 73 74 64 6c 69 62 |#include| <stdlib|
|000004c0| 2e 68 3e 0a 0a 65 6e 75 | 6d 20 7b 4e 4f 4e 45 2c |.h>..enu|m {NONE,|
|000004d0| 20 41 54 53 49 47 4e 2c | 20 54 49 4c 4c 45 4e 44 | ATSIGN,| TILLEND|
|000004e0| 2c 20 42 52 41 43 2c 20 | 42 52 41 43 53 45 4e 44 |, BRAC, |BRACSEND|
|000004f0| 2c 20 54 49 4c 4c 42 52 | 41 43 2c 0a 20 20 20 20 |, TILLBR|AC,. |
|00000500| 20 47 4f 54 5f 4e 2c 20 | 47 4f 54 5f 4f 2c 20 47 | GOT_N, |GOT_O, G|
|00000510| 4f 54 5f 44 2c 20 47 4f | 54 5f 45 2c 20 53 4b 49 |OT_D, GO|T_E, SKI|
|00000520| 50 41 52 47 2c 20 4e 4f | 44 45 2c 20 4e 4f 44 45 |PARG, NO|DE, NODE|
|00000530| 53 45 4e 44 7d 0a 09 67 | 6f 74 3b 0a 0a 65 6e 75 |SEND}..g|ot;..enu|
|00000540| 6d 20 7b 45 52 52 5f 53 | 48 4f 52 54 2c 20 45 52 |m {ERR_S|HORT, ER|
|00000550| 52 5f 4d 45 4d 2c 20 45 | 52 52 5f 49 4f 2c 20 45 |R_MEM, E|RR_IO, E|
|00000560| 52 52 5f 46 49 4c 45 2c | 20 45 52 52 5f 41 52 47 |RR_FILE,| ERR_ARG|
|00000570| 53 2c 20 45 52 52 5f 4e | 4f 4e 45 7d 0a 09 65 72 |S, ERR_N|ONE}..er|
|00000580| 72 3b 0a 0a 65 6e 75 6d | 20 7b 41 52 47 5f 46 52 |r;..enum| {ARG_FR|
|00000590| 4f 4d 2c 20 41 52 47 5f | 54 4f 2c 20 41 52 47 5f |OM, ARG_|TO, ARG_|
|000005a0| 4e 4f 44 45 46 4f 4e 54 | 2c 20 41 52 47 5f 4c 49 |NODEFONT|, ARG_LI|
|000005b0| 4e 4b 46 4f 4e 54 7d 0a | 09 61 72 67 3b 0a 0a 65 |NKFONT}.|.arg;..e|
|000005c0| 6e 75 6d 20 7b 4e 4f 44 | 45 46 4f 4e 54 2c 20 4c |num {NOD|EFONT, L|
|000005d0| 49 4e 4b 46 4f 4e 54 7d | 0a 09 66 6f 6e 74 3b 0a |INKFONT}|..font;.|
|000005e0| 0a 23 64 65 66 69 6e 65 | 20 51 55 4f 54 45 20 33 |.#define| QUOTE 3|
|000005f0| 34 0a 23 64 65 66 69 6e | 65 20 52 45 54 20 27 5c |4.#defin|e RET '\|
|00000600| 6e 27 0a 23 64 65 66 69 | 6e 65 20 45 53 43 20 32 |n'.#defi|ne ESC 2|
|00000610| 37 0a 23 64 65 66 69 6e | 65 20 46 4f 4e 54 5f 42 |7.#defin|e FONT_B|
|00000620| 4f 4c 44 20 27 31 27 0a | 23 64 65 66 69 6e 65 20 |OLD '1'.|#define |
|00000630| 46 4f 4e 54 5f 49 54 41 | 4c 49 43 20 27 33 27 0a |FONT_ITA|LIC '3'.|
|00000640| 23 64 65 66 69 6e 65 20 | 46 4f 4e 54 5f 52 45 56 |#define |FONT_REV|
|00000650| 45 52 53 45 20 27 37 27 | 0a 23 64 65 66 69 6e 65 |ERSE '7'|.#define|
|00000660| 20 46 4f 4e 54 5f 4e 4f | 52 4d 41 4c 20 27 30 27 | FONT_NO|RMAL '0'|
|00000670| 0a 23 64 65 66 69 6e 65 | 20 46 4f 4e 54 5f 55 4e |.#define| FONT_UN|
|00000680| 44 45 52 4c 49 4e 45 20 | 27 34 27 0a 0a 76 6f 69 |DERLINE |'4'..voi|
|00000690| 64 20 73 65 74 66 6f 6e | 74 28 63 68 61 72 20 2a |d setfon|t(char *|
|000006a0| 20 73 74 72 2c 69 6e 74 | 20 69 6e 64 29 3b 0a 0a | str,int| ind);..|
|000006b0| 63 68 61 72 20 6d 79 66 | 6f 6e 74 5b 32 5d 20 3d |char myf|ont[2] =|
|000006c0| 20 7b 46 4f 4e 54 5f 52 | 45 56 45 52 53 45 2c 46 | {FONT_R|EVERSE,F|
|000006d0| 4f 4e 54 5f 49 54 41 4c | 49 43 7d 3b 0a 0a 55 42 |ONT_ITAL|IC};..UB|
|000006e0| 59 54 45 20 76 65 72 73 | 5b 5d 3d 22 24 56 45 52 |YTE vers|[]="$VER|
|000006f0| 3a 20 61 67 32 74 78 74 | 20 33 2e 32 20 28 31 32 |: ag2txt| 3.2 (12|
|00000700| 2e 33 2e 39 34 29 22 3b | 0a 0a 69 6e 74 20 6d 61 |.3.94)";|..int ma|
|00000710| 69 6e 28 76 6f 69 64 29 | 20 7b 0a 09 69 6e 74 20 |in(void)| {..int |
|00000720| 73 74 61 74 65 3d 4e 4f | 4e 45 3b 0a 09 69 6e 74 |state=NO|NE;..int|
|00000730| 20 71 75 6f 74 65 3b 0a | 09 63 68 61 72 20 2a 69 | quote;.|.char *i|
|00000740| 6e 3b 0a 09 63 68 61 72 | 20 2a 6f 75 74 3b 0a 09 |n;..char| *out;..|
|00000750| 63 68 61 72 20 2a 6d 61 | 78 3b 0a 09 4c 4f 4e 47 |char *ma|x;..LONG|
|00000760| 20 61 72 67 73 5b 34 5d | 20 3d 20 7b 30 2c 30 2c | args[4]| = {0,0,|
|00000770| 30 2c 30 7d 3b 0a 09 42 | 4f 4f 4c 20 6f 6b 20 3d |0,0};..B|OOL ok =|
|00000780| 20 46 41 4c 53 45 3b 0a | 09 46 49 4c 45 20 2a 66 | FALSE;.|.FILE *f|
|00000790| 72 6f 6d 2c 2a 74 6f 3b | 0a 09 63 68 61 72 20 2a |rom,*to;|..char *|
|000007a0| 62 69 6e 2c 2a 62 6f 75 | 74 3d 4e 55 4c 4c 3b 0a |bin,*bou|t=NULL;.|
|000007b0| 09 69 6e 74 20 6c 65 6e | 3b 0a 09 73 74 72 75 63 |.int len|;..struc|
|000007c0| 74 20 52 44 41 72 67 73 | 20 2a 72 64 61 72 67 73 |t RDArgs| *rdargs|
|000007d0| 3b 0a 09 69 66 20 28 72 | 64 61 72 67 73 20 3d 20 |;..if (r|dargs = |
|000007e0| 52 65 61 64 41 72 67 73 | 28 22 46 52 4f 4d 2f 41 |ReadArgs|("FROM/A|
|000007f0| 2c 54 4f 2f 41 2c 4e 4f | 44 45 46 4f 4e 54 3d 4e |,TO/A,NO|DEFONT=N|
|00000800| 4f 44 45 2f 4b 2c 4c 49 | 4e 4b 46 4f 4e 54 3d 4c |ODE/K,LI|NKFONT=L|
|00000810| 49 4e 4b 2f 4b 22 2c 0a | 09 09 09 09 09 09 09 09 |INK/K",.|........|
|00000820| 09 61 72 67 73 2c 4e 55 | 4c 4c 29 29 20 7b 0a 09 |.args,NU|LL)) {..|
|00000830| 09 69 66 20 28 66 72 6f | 6d 20 3d 20 66 6f 70 65 |.if (fro|m = fope|
|00000840| 6e 28 28 63 68 61 72 20 | 2a 29 61 72 67 73 5b 41 |n((char |*)args[A|
|00000850| 52 47 5f 46 52 4f 4d 5d | 2c 22 72 22 29 29 20 7b |RG_FROM]|,"r")) {|
|00000860| 0a 09 09 09 66 73 65 65 | 6b 28 66 72 6f 6d 2c 30 |....fsee|k(from,0|
|00000870| 2c 32 29 3b 0a 09 09 09 | 69 66 20 28 6c 65 6e 20 |,2);....|if (len |
|00000880| 3d 20 66 74 65 6c 6c 28 | 66 72 6f 6d 29 29 20 7b |= ftell(|from)) {|
|00000890| 0a 09 09 09 09 72 65 77 | 69 6e 64 28 66 72 6f 6d |.....rew|ind(from|
|000008a0| 29 3b 0a 09 09 09 09 69 | 66 20 28 74 6f 20 3d 20 |);.....i|f (to = |
|000008b0| 66 6f 70 65 6e 28 28 63 | 68 61 72 20 2a 29 61 72 |fopen((c|har *)ar|
|000008c0| 67 73 5b 41 52 47 5f 54 | 4f 5d 2c 22 77 22 29 29 |gs[ARG_T|O],"w"))|
|000008d0| 20 7b 0a 09 09 09 09 09 | 69 66 20 28 61 72 67 73 | {......|if (args|
|000008e0| 5b 41 52 47 5f 4e 4f 44 | 45 46 4f 4e 54 5d 29 20 |[ARG_NOD|EFONT]) |
|000008f0| 7b 0a 09 09 09 09 09 09 | 73 65 74 66 6f 6e 74 28 |{.......|setfont(|
|00000900| 28 63 68 61 72 20 2a 29 | 61 72 67 73 5b 41 52 47 |(char *)|args[ARG|
|00000910| 5f 4e 4f 44 45 46 4f 4e | 54 5d 2c 4e 4f 44 45 46 |_NODEFON|T],NODEF|
|00000920| 4f 4e 54 29 3b 0a 09 09 | 09 09 09 7d 0a 09 09 09 |ONT);...|...}....|
|00000930| 09 09 69 66 20 28 61 72 | 67 73 5b 41 52 47 5f 4c |..if (ar|gs[ARG_L|
|00000940| 49 4e 4b 46 4f 4e 54 5d | 29 20 7b 0a 09 09 09 09 |INKFONT]|) {.....|
|00000950| 09 09 73 65 74 66 6f 6e | 74 28 28 63 68 61 72 20 |..setfon|t((char |
|00000960| 2a 29 61 72 67 73 5b 41 | 52 47 5f 4c 49 4e 4b 46 |*)args[A|RG_LINKF|
|00000970| 4f 4e 54 5d 2c 4c 49 4e | 4b 46 4f 4e 54 29 3b 0a |ONT],LIN|KFONT);.|
|00000980| 09 09 09 09 09 7d 0a 09 | 09 09 09 09 69 66 20 28 |.....}..|....if (|
|00000990| 28 62 69 6e 20 3d 20 28 | 63 68 61 72 20 2a 29 6d |(bin = (|char *)m|
|000009a0| 61 6c 6c 6f 63 28 6c 65 | 6e 29 29 20 26 26 20 28 |alloc(le|n)) && (|
|000009b0| 62 6f 75 74 20 3d 20 28 | 63 68 61 72 20 2a 29 6d |bout = (|char *)m|
|000009c0| 61 6c 6c 6f 63 28 6c 65 | 6e 29 29 29 20 7b 0a 09 |alloc(le|n))) {..|
|000009d0| 09 09 09 09 09 66 72 65 | 61 64 28 62 69 6e 2c 6c |.....fre|ad(bin,l|
|000009e0| 65 6e 2c 31 2c 66 72 6f | 6d 29 3b 0a 09 09 09 09 |en,1,fro|m);.....|
|000009f0| 09 09 69 6e 20 3d 20 62 | 69 6e 3b 0a 09 09 09 09 |..in = b|in;.....|
|00000a00| 09 09 6f 75 74 20 3d 20 | 62 6f 75 74 3b 0a 09 09 |..out = |bout;...|
|00000a10| 09 09 09 09 6d 61 78 20 | 3d 20 62 69 6e 2b 6c 65 |....max |= bin+le|
|00000a20| 6e 3b 0a 09 09 09 09 09 | 09 2f 2f 20 53 6b 69 70 |n;......|.// Skip|
|00000a30| 20 74 69 6c 6c 20 6d 61 | 69 6e 20 4e 6f 64 65 0a | till ma|in Node.|
|00000a40| 09 09 09 09 09 09 77 68 | 69 6c 65 20 28 28 69 6e |......wh|ile ((in|
|00000a50| 3c 6d 61 78 29 20 26 26 | 20 28 73 74 61 74 65 20 |<max) &&| (state |
|00000a60| 3d 3d 20 4e 4f 4e 45 29 | 29 20 7b 0a 09 09 09 09 |== NONE)|) {.....|
|00000a70| 09 09 09 69 66 20 28 28 | 2a 69 6e 20 3d 3d 20 27 |...if ((|*in == '|
|00000a80| 40 27 29 20 26 26 20 28 | 69 6e 5b 31 5d 20 3d 3d |@') && (|in[1] ==|
|00000a90| 20 27 4e 27 29 29 20 7b | 0a 09 09 09 09 09 09 09 | 'N')) {|........|
|00000aa0| 09 73 74 61 74 65 20 3d | 20 41 54 53 49 47 4e 3b |.state =| ATSIGN;|
|00000ab0| 0a 09 09 09 09 09 09 09 | 7d 0a 09 09 09 09 09 09 |........|}.......|
|00000ac0| 09 69 6e 2b 2b 3b 0a 09 | 09 09 09 09 09 7d 0a 09 |.in++;..|.....}..|
|00000ad0| 09 09 09 09 09 69 66 20 | 28 69 6e 20 3c 20 6d 61 |.....if |(in < ma|
|00000ae0| 78 29 20 7b 0a 09 09 09 | 09 09 09 09 69 6e 2d 2d |x) {....|....in--|
|00000af0| 3b 0a 09 09 09 09 09 09 | 7d 0a 09 09 09 09 09 09 |;.......|}.......|
|00000b00| 73 74 61 74 65 20 3d 20 | 4e 4f 4e 45 3b 0a 09 09 |state = |NONE;...|
|00000b10| 09 09 09 09 77 68 69 6c | 65 20 28 69 6e 3c 6d 61 |....whil|e (in<ma|
|00000b20| 78 29 20 7b 0a 09 09 09 | 09 09 09 09 73 77 69 74 |x) {....|....swit|
|00000b30| 63 68 20 28 73 74 61 74 | 65 29 20 7b 0a 09 09 09 |ch (stat|e) {....|
|00000b40| 09 09 09 09 63 61 73 65 | 20 4e 4f 4e 45 3a 0a 09 |....case| NONE:..|
|00000b50| 09 09 09 09 09 09 09 69 | 66 20 28 2a 69 6e 20 3d |.......i|f (*in =|
|00000b60| 3d 20 27 40 27 29 20 7b | 0a 09 09 09 09 09 09 09 |= '@') {|........|
|00000b70| 09 09 69 66 20 28 69 6e | 5b 31 5d 20 3d 3d 20 27 |..if (in|[1] == '|
|00000b80| 7b 27 29 20 7b 0a 09 09 | 09 09 09 09 09 09 09 09 |{') {...|........|
|00000b90| 73 74 61 74 65 20 3d 20 | 42 52 41 43 3b 0a 09 09 |state = |BRAC;...|
|00000ba0| 09 09 09 09 09 09 09 09 | 69 6e 2b 2b 3b 0a 09 09 |........|in++;...|
|00000bb0| 09 09 09 09 09 09 09 7d | 0a 09 09 09 09 09 09 09 |.......}|........|
|00000bc0| 09 09 65 6c 73 65 20 7b | 0a 09 09 09 09 09 09 09 |..else {|........|
|00000bd0| 09 09 09 69 66 20 28 28 | 69 6e 20 3d 3d 20 62 69 |...if ((|in == bi|
|00000be0| 6e 29 20 7c 7c 20 28 69 | 6e 5b 2d 31 5d 20 3d 3d |n) || (i|n[-1] ==|
|00000bf0| 20 52 45 54 29 29 20 7b | 0a 09 09 09 09 09 09 09 | RET)) {|........|
|00000c00| 09 09 09 09 73 74 61 74 | 65 20 3d 20 41 54 53 49 |....stat|e = ATSI|
|00000c10| 47 4e 3b 0a 09 09 09 09 | 09 09 09 09 09 09 7d 0a |GN;.....|......}.|
|00000c20| 09 09 09 09 09 09 09 09 | 09 09 65 6c 73 65 20 7b |........|..else {|
|00000c30| 0a 09 09 09 09 09 09 09 | 09 09 09 09 2a 6f 75 74 |........|....*out|
|00000c40| 2b 2b 20 3d 20 2a 69 6e | 3b 0a 09 09 09 09 09 09 |++ = *in|;.......|
|00000c50| 09 09 09 09 7d 0a 09 09 | 09 09 09 09 09 09 09 7d |....}...|.......}|
|00000c60| 0a 09 09 09 09 09 09 09 | 09 7d 0a 09 09 09 09 09 |........|.}......|
|00000c70| 09 09 09 65 6c 73 65 20 | 7b 0a 09 09 09 09 09 09 |...else |{.......|
|00000c80| 09 09 09 2a 6f 75 74 2b | 2b 20 3d 20 2a 69 6e 3b |...*out+|+ = *in;|
|00000c90| 0a 09 09 09 09 09 09 09 | 09 7d 0a 09 09 09 09 09 |........|.}......|
|00000ca0| 09 09 09 62 72 65 61 6b | 3b 0a 09 09 09 09 09 09 |...break|;.......|
|00000cb0| 09 63 61 73 65 20 41 54 | 53 49 47 4e 3a 0a 09 09 |.case AT|SIGN:...|
|00000cc0| 09 09 09 09 09 09 69 66 | 20 28 28 2a 69 6e 20 3d |......if| ((*in =|
|00000cd0| 3d 20 27 4e 27 29 20 7c | 7c 20 28 2a 69 6e 20 3d |= 'N') ||| (*in =|
|00000ce0| 3d 20 27 6e 27 29 29 20 | 7b 0a 09 09 09 09 09 09 |= 'n')) |{.......|
|00000cf0| 09 09 09 73 74 61 74 65 | 20 3d 20 47 4f 54 5f 4e |...state| = GOT_N|
|00000d00| 3b 0a 09 09 09 09 09 09 | 09 09 7d 0a 09 09 09 09 |;.......|..}.....|
|00000d10| 09 09 09 09 65 6c 73 65 | 20 7b 0a 09 09 09 09 09 |....else| {......|
|00000d20| 09 09 09 09 73 74 61 74 | 65 20 3d 20 54 49 4c 4c |....stat|e = TILL|
|00000d30| 45 4e 44 3b 0a 09 09 09 | 09 09 09 09 09 7d 0a 09 |END;....|.....}..|
|00000d40| 09 09 09 09 09 09 09 62 | 72 65 61 6b 3b 0a 09 09 |.......b|reak;...|
|00000d50| 09 09 09 09 09 63 61 73 | 65 20 54 49 4c 4c 45 4e |.....cas|e TILLEN|
|00000d60| 44 3a 0a 09 09 09 09 09 | 09 09 09 69 66 20 28 2a |D:......|...if (*|
|00000d70| 69 6e 20 3d 3d 20 52 45 | 54 29 20 7b 0a 09 09 09 |in == RE|T) {....|
|00000d80| 09 09 09 09 09 09 73 74 | 61 74 65 20 3d 20 4e 4f |......st|ate = NO|
|00000d90| 4e 45 3b 0a 09 09 09 09 | 09 09 09 09 7d 0a 09 09 |NE;.....|....}...|
|00000da0| 09 09 09 09 09 09 62 72 | 65 61 6b 3b 0a 09 09 09 |......br|eak;....|
|00000db0| 09 09 09 09 63 61 73 65 | 20 42 52 41 43 3a 0a 09 |....case| BRAC:..|
|00000dc0| 09 09 09 09 09 09 09 69 | 66 20 28 2a 69 6e 20 3d |.......i|f (*in =|
|00000dd0| 3d 20 27 62 27 29 20 7b | 0a 09 09 09 09 09 09 09 |= 'b') {|........|
|00000de0| 09 09 2a 6f 75 74 2b 2b | 20 3d 20 45 53 43 3b 0a |..*out++| = ESC;.|
|00000df0| 09 09 09 09 09 09 09 09 | 09 2a 6f 75 74 2b 2b 20 |........|.*out++ |
|00000e00| 3d 20 27 5b 27 3b 0a 09 | 09 09 09 09 09 09 09 09 |= '[';..|........|
|00000e10| 2a 6f 75 74 2b 2b 20 3d | 20 46 4f 4e 54 5f 42 4f |*out++ =| FONT_BO|
|00000e20| 4c 44 3b 0a 09 09 09 09 | 09 09 09 09 09 2a 6f 75 |LD;.....|.....*ou|
|00000e30| 74 2b 2b 20 3d 20 27 6d | 27 3b 0a 09 09 09 09 09 |t++ = 'm|';......|
|00000e40| 09 09 09 09 69 6e 2b 2b | 3b 0a 09 09 09 09 09 09 |....in++|;.......|
|00000e50| 09 09 09 73 74 61 74 65 | 20 3d 20 4e 4f 4e 45 3b |...state| = NONE;|
|00000e60| 0a 09 09 09 09 09 09 09 | 09 7d 0a 09 09 09 09 09 |........|.}......|
|00000e70| 09 09 09 65 6c 73 65 20 | 7b 0a 09 09 09 09 09 09 |...else |{.......|
|00000e80| 09 09 09 69 66 20 28 28 | 2a 69 6e 20 3d 3d 20 27 |...if ((|*in == '|
|00000e90| 75 27 29 20 26 26 20 28 | 69 6e 5b 31 5d 20 21 3d |u') && (|in[1] !=|
|00000ea0| 20 27 7d 27 29 29 20 7b | 0a 09 09 09 09 09 09 09 | '}')) {|........|
|00000eb0| 09 09 09 2a 6f 75 74 2b | 2b 20 3d 20 45 53 43 3b |...*out+|+ = ESC;|
|00000ec0| 0a 09 09 09 09 09 09 09 | 09 09 09 2a 6f 75 74 2b |........|...*out+|
|00000ed0| 2b 20 3d 20 27 5b 27 3b | 0a 09 09 09 09 09 09 09 |+ = '[';|........|
|00000ee0| 09 09 09 2a 6f 75 74 2b | 2b 20 3d 20 46 4f 4e 54 |...*out+|+ = FONT|
|00000ef0| 5f 4e 4f 52 4d 41 4c 3b | 0a 09 09 09 09 09 09 09 |_NORMAL;|........|
|00000f00| 09 09 09 2a 6f 75 74 2b | 2b 20 3d 20 27 6d 27 3b |...*out+|+ = 'm';|
|00000f10| 0a 09 09 09 09 09 09 09 | 09 09 09 69 6e 2b 2b 3b |........|...in++;|
|00000f20| 0a 09 09 09 09 09 09 09 | 09 09 09 69 6e 2b 2b 3b |........|...in++;|
|00000f30| 0a 09 09 09 09 09 09 09 | 09 09 09 73 74 61 74 65 |........|...state|
|00000f40| 20 3d 20 4e 4f 4e 45 3b | 0a 09 09 09 09 09 09 09 | = NONE;|........|
|00000f50| 09 09 7d 0a 09 09 09 09 | 09 09 09 09 09 65 6c 73 |..}.....|.....els|
|00000f60| 65 20 7b 0a 09 09 09 09 | 09 09 09 09 09 09 69 66 |e {.....|......if|
|00000f70| 20 28 2a 69 6e 20 3d 3d | 20 27 75 27 29 20 7b 0a | (*in ==| 'u') {.|
|00000f80| 09 09 09 09 09 09 09 09 | 09 09 09 2a 6f 75 74 2b |........|...*out+|
|00000f90| 2b 20 3d 20 45 53 43 3b | 0a 09 09 09 09 09 09 09 |+ = ESC;|........|
|00000fa0| 09 09 09 09 2a 6f 75 74 | 2b 2b 20 3d 20 27 5b 27 |....*out|++ = '['|
|00000fb0| 3b 0a 09 09 09 09 09 09 | 09 09 09 09 09 2a 6f 75 |;.......|.....*ou|
|00000fc0| 74 2b 2b 20 3d 20 46 4f | 4e 54 5f 55 4e 44 45 52 |t++ = FO|NT_UNDER|
|00000fd0| 4c 49 4e 45 3b 0a 09 09 | 09 09 09 09 09 09 09 09 |LINE;...|........|
|00000fe0| 09 2a 6f 75 74 2b 2b 20 | 3d 20 27 6d 27 3b 0a 09 |.*out++ |= 'm';..|
|00000ff0| 09 09 09 09 09 09 09 09 | 09 09 69 6e 2b 2b 3b 0a |........|..in++;.|
|00001000| 09 09 09 09 09 09 09 09 | 09 09 09 73 74 61 74 65 |........|...state|
|00001010| 20 3d 20 4e 4f 4e 45 3b | 0a 09 09 09 09 09 09 09 | = NONE;|........|
|00001020| 09 09 09 7d 0a 09 09 09 | 09 09 09 09 09 09 09 65 |...}....|.......e|
|00001030| 6c 73 65 20 7b 0a 09 09 | 09 09 09 09 09 09 09 09 |lse {...|........|
|00001040| 09 69 66 20 28 2a 69 6e | 20 3d 3d 20 27 69 27 29 |.if (*in| == 'i')|
|00001050| 20 7b 0a 09 09 09 09 09 | 09 09 09 09 09 09 09 2a | {......|.......*|
|00001060| 6f 75 74 2b 2b 20 3d 20 | 45 53 43 3b 0a 09 09 09 |out++ = |ESC;....|
|00001070| 09 09 09 09 09 09 09 09 | 09 2a 6f 75 74 2b 2b 20 |........|.*out++ |
|00001080| 3d 20 27 5b 27 3b 0a 09 | 09 09 09 09 09 09 09 09 |= '[';..|........|
|00001090| 09 09 09 2a 6f 75 74 2b | 2b 20 3d 20 46 4f 4e 54 |...*out+|+ = FONT|
|000010a0| 5f 49 54 41 4c 49 43 3b | 0a 09 09 09 09 09 09 09 |_ITALIC;|........|
|000010b0| 09 09 09 09 09 2a 6f 75 | 74 2b 2b 20 3d 20 27 6d |.....*ou|t++ = 'm|
|000010c0| 27 3b 0a 09 09 09 09 09 | 09 09 09 09 09 09 09 69 |';......|.......i|
|000010d0| 6e 2b 2b 3b 0a 09 09 09 | 09 09 09 09 09 09 09 09 |n++;....|........|
|000010e0| 09 73 74 61 74 65 20 3d | 20 4e 4f 4e 45 3b 0a 09 |.state =| NONE;..|
|000010f0| 09 09 09 09 09 09 09 09 | 09 09 7d 0a 09 09 09 09 |........|..}.....|
|00001100| 09 09 09 09 09 09 09 65 | 6c 73 65 20 7b 0a 09 09 |.......e|lse {...|
|00001110| 09 09 09 09 09 09 09 09 | 09 09 69 66 20 28 2a 69 |........|..if (*i|
|00001120| 6e 20 21 3d 20 27 20 27 | 29 20 7b 0a 09 09 09 09 |n != ' '|) {.....|
|00001130| 09 09 09 09 09 09 09 09 | 09 71 75 6f 74 65 20 3d |........|.quote =|
|00001140| 20 28 2a 69 6e 20 3d 3d | 20 51 55 4f 54 45 29 3b | (*in ==| QUOTE);|
|00001150| 0a 09 09 09 09 09 09 09 | 09 09 09 09 09 09 2a 6f |........|......*o|
|00001160| 75 74 2b 2b 20 3d 20 45 | 53 43 3b 0a 09 09 09 09 |ut++ = E|SC;.....|
|00001170| 09 09 09 09 09 09 09 09 | 09 2a 6f 75 74 2b 2b 20 |........|.*out++ |
|00001180| 3d 20 27 5b 27 3b 0a 09 | 09 09 09 09 09 09 09 09 |= '[';..|........|
|00001190| 09 09 09 09 2a 6f 75 74 | 2b 2b 20 3d 20 6d 79 66 |....*out|++ = myf|
|000011a0| 6f 6e 74 5b 4c 49 4e 4b | 46 4f 4e 54 5d 3b 0a 09 |ont[LINK|FONT];..|
|000011b0| 09 09 09 09 09 09 09 09 | 09 09 09 09 2a 6f 75 74 |........|....*out|
|000011c0| 2b 2b 20 3d 20 27 6d 27 | 3b 0a 09 09 09 09 09 09 |++ = 'm'|;.......|
|000011d0| 09 09 09 09 09 09 09 73 | 74 61 74 65 20 3d 20 42 |.......s|tate = B|
|000011e0| 52 41 43 53 45 4e 44 3b | 0a 09 09 09 09 09 09 09 |RACSEND;|........|
|000011f0| 09 09 09 09 09 7d 0a 09 | 09 09 09 09 09 09 09 09 |.....}..|........|
|00001200| 09 09 7d 0a 09 09 09 09 | 09 09 09 09 09 09 7d 0a |..}.....|......}.|
|00001210| 09 09 09 09 09 09 09 09 | 09 7d 0a 09 09 09 09 09 |........|.}......|
|00001220| 09 09 09 7d 0a 09 09 09 | 09 09 09 09 09 62 72 65 |...}....|.....bre|
|00001230| 61 6b 3b 0a 09 09 09 09 | 09 09 09 63 61 73 65 20 |ak;.....|...case |
|00001240| 42 52 41 43 53 45 4e 44 | 3a 0a 09 09 09 09 09 09 |BRACSEND|:.......|
|00001250| 09 09 69 66 20 28 28 71 | 75 6f 74 65 20 26 26 20 |..if ((q|uote && |
|00001260| 28 2a 69 6e 20 3d 3d 20 | 51 55 4f 54 45 29 29 20 |(*in == |QUOTE)) |
|00001270| 7c 7c 20 28 21 71 75 6f | 74 65 20 26 26 20 28 2a ||| (!quo|te && (*|
|00001280| 69 6e 20 3d 3d 20 27 20 | 27 29 29 29 20 7b 0a 09 |in == ' |'))) {..|
|00001290| 09 09 09 09 09 09 09 09 | 2a 6f 75 74 2b 2b 20 3d |........|*out++ =|
|000012a0| 20 45 53 43 3b 0a 09 09 | 09 09 09 09 09 09 09 2a | ESC;...|.......*|
|000012b0| 6f 75 74 2b 2b 20 3d 20 | 27 5b 27 3b 0a 09 09 09 |out++ = |'[';....|
|000012c0| 09 09 09 09 09 09 2a 6f | 75 74 2b 2b 20 3d 20 46 |......*o|ut++ = F|
|000012d0| 4f 4e 54 5f 4e 4f 52 4d | 41 4c 3b 0a 09 09 09 09 |ONT_NORM|AL;.....|
|000012e0| 09 09 09 09 09 2a 6f 75 | 74 2b 2b 20 3d 20 27 6d |.....*ou|t++ = 'm|
|000012f0| 27 3b 0a 09 09 09 09 09 | 09 09 09 09 73 74 61 74 |';......|....stat|
|00001300| 65 20 3d 20 54 49 4c 4c | 42 52 41 43 3b 0a 09 09 |e = TILL|BRAC;...|
|00001310| 09 09 09 09 09 09 7d 0a | 09 09 09 09 09 09 09 09 |......}.|........|
|00001320| 65 6c 73 65 20 7b 0a 09 | 09 09 09 09 09 09 09 09 |else {..|........|
|00001330| 2a 6f 75 74 2b 2b 20 3d | 20 2a 69 6e 3b 0a 09 09 |*out++ =| *in;...|
|00001340| 09 09 09 09 09 09 7d 0a | 09 09 09 09 09 09 09 09 |......}.|........|
|00001350| 62 72 65 61 6b 3b 0a 09 | 09 09 09 09 09 09 63 61 |break;..|......ca|
|00001360| 73 65 20 54 49 4c 4c 42 | 52 41 43 3a 0a 09 09 09 |se TILLB|RAC:....|
|00001370| 09 09 09 09 09 69 66 20 | 28 2a 69 6e 20 3d 3d 20 |.....if |(*in == |
|00001380| 27 7d 27 29 20 7b 0a 09 | 09 09 09 09 09 09 09 09 |'}') {..|........|
|00001390| 2f 2f 20 70 61 64 20 65 | 78 74 72 61 20 73 70 61 |// pad e|xtra spa|
|000013a0| 63 65 20 28 66 6f 72 20 | 56 33 39 29 0a 09 09 09 |ce (for |V39)....|
|000013b0| 09 09 09 09 09 09 69 66 | 20 28 69 6e 5b 31 5d 20 |......if| (in[1] |
|000013c0| 21 3d 20 27 2e 27 29 20 | 7b 0a 09 09 09 09 09 09 |!= '.') |{.......|
|000013d0| 09 09 09 09 2a 6f 75 74 | 2b 2b 20 3d 20 27 20 27 |....*out|++ = ' '|
|000013e0| 3b 0a 09 09 09 09 09 09 | 09 09 09 7d 0a 09 09 09 |;.......|...}....|
|000013f0| 09 09 09 09 09 09 73 74 | 61 74 65 20 3d 20 4e 4f |......st|ate = NO|
|00001400| 4e 45 3b 0a 09 09 09 09 | 09 09 09 09 7d 0a 09 09 |NE;.....|....}...|
|00001410| 09 09 09 09 09 09 62 72 | 65 61 6b 3b 0a 09 09 09 |......br|eak;....|
|00001420| 09 09 09 09 63 61 73 65 | 20 47 4f 54 5f 4e 3a 0a |....case| GOT_N:.|
|00001430| 09 09 09 09 09 09 09 09 | 69 66 20 28 28 2a 69 6e |........|if ((*in|
|00001440| 20 3d 3d 20 27 4f 27 29 | 20 7c 7c 20 28 2a 69 6e | == 'O')| || (*in|
|00001450| 20 3d 3d 20 27 6f 27 29 | 29 20 7b 0a 09 09 09 09 | == 'o')|) {.....|
|00001460| 09 09 09 09 09 73 74 61 | 74 65 20 3d 20 47 4f 54 |.....sta|te = GOT|
|00001470| 5f 4f 3b 0a 09 09 09 09 | 09 09 09 09 7d 0a 09 09 |_O;.....|....}...|
|00001480| 09 09 09 09 09 09 65 6c | 73 65 20 7b 0a 09 09 09 |......el|se {....|
|00001490| 09 09 09 09 09 09 73 74 | 61 74 65 20 3d 20 54 49 |......st|ate = TI|
|000014a0| 4c 4c 45 4e 44 3b 0a 09 | 09 09 09 09 09 09 09 7d |LLEND;..|.......}|
|000014b0| 0a 09 09 09 09 09 09 09 | 09 62 72 65 61 6b 3b 0a |........|.break;.|
|000014c0| 09 09 09 09 09 09 09 63 | 61 73 65 20 47 4f 54 5f |.......c|ase GOT_|
|000014d0| 4f 3a 0a 09 09 09 09 09 | 09 09 09 69 66 20 28 28 |O:......|...if ((|
|000014e0| 2a 69 6e 20 3d 3d 20 27 | 44 27 29 20 7c 7c 20 28 |*in == '|D') || (|
|000014f0| 2a 69 6e 20 3d 3d 20 27 | 64 27 29 29 20 7b 0a 09 |*in == '|d')) {..|
|00001500| 09 09 09 09 09 09 09 09 | 73 74 61 74 65 20 3d 20 |........|state = |
|00001510| 47 4f 54 5f 44 3b 0a 09 | 09 09 09 09 09 09 09 7d |GOT_D;..|.......}|
|00001520| 0a 09 09 09 09 09 09 09 | 09 65 6c 73 65 20 7b 0a |........|.else {.|
|00001530| 09 09 09 09 09 09 09 09 | 09 73 74 61 74 65 20 3d |........|.state =|
|00001540| 20 54 49 4c 4c 45 4e 44 | 3b 0a 09 09 09 09 09 09 | TILLEND|;.......|
|00001550| 09 09 7d 0a 09 09 09 09 | 09 09 09 09 62 72 65 61 |..}.....|....brea|
|00001560| 6b 3b 0a 09 09 09 09 09 | 09 09 63 61 73 65 20 47 |k;......|..case G|
|00001570| 4f 54 5f 44 3a 0a 09 09 | 09 09 09 09 09 09 69 66 |OT_D:...|......if|
|00001580| 20 28 28 2a 69 6e 20 3d | 3d 20 27 45 27 29 20 7c | ((*in =|= 'E') ||
|00001590| 7c 20 28 2a 69 6e 20 3d | 3d 20 27 65 27 29 29 20 || (*in =|= 'e')) |
|000015a0| 7b 0a 09 09 09 09 09 09 | 09 09 09 73 74 61 74 65 |{.......|...state|
|000015b0| 20 3d 20 47 4f 54 5f 45 | 3b 0a 09 09 09 09 09 09 | = GOT_E|;.......|
|000015c0| 09 09 7d 0a 09 09 09 09 | 09 09 09 09 65 6c 73 65 |..}.....|....else|
|000015d0| 20 7b 0a 09 09 09 09 09 | 09 09 09 09 73 74 61 74 | {......|....stat|
|000015e0| 65 20 3d 20 54 49 4c 4c | 45 4e 44 3b 0a 09 09 09 |e = TILL|END;....|
|000015f0| 09 09 09 09 09 7d 0a 09 | 09 09 09 09 09 09 09 62 |.....}..|.......b|
|00001600| 72 65 61 6b 3b 0a 09 09 | 09 09 09 09 09 63 61 73 |reak;...|.....cas|
|00001610| 65 20 47 4f 54 5f 45 3a | 0a 09 09 09 09 09 09 09 |e GOT_E:|........|
|00001620| 09 69 66 20 28 2a 69 6e | 20 21 3d 20 27 20 27 29 |.if (*in| != ' ')|
|00001630| 20 7b 0a 09 09 09 09 09 | 09 09 09 09 71 75 6f 74 | {......|....quot|
|00001640| 65 20 3d 20 28 2a 69 6e | 20 3d 3d 20 51 55 4f 54 |e = (*in| == QUOT|
|00001650| 45 29 3b 0a 09 09 09 09 | 09 09 09 09 09 73 74 61 |E);.....|.....sta|
|00001660| 74 65 20 3d 20 53 4b 49 | 50 41 52 47 3b 0a 09 09 |te = SKI|PARG;...|
|00001670| 09 09 09 09 09 09 7d 0a | 09 09 09 09 09 09 09 09 |......}.|........|
|00001680| 62 72 65 61 6b 3b 0a 09 | 09 09 09 09 09 09 63 61 |break;..|......ca|
|00001690| 73 65 20 53 4b 49 50 41 | 52 47 3a 0a 09 09 09 09 |se SKIPA|RG:.....|
|000016a0| 09 09 09 09 69 66 20 28 | 28 71 75 6f 74 65 20 26 |....if (|(quote &|
|000016b0| 26 20 28 2a 69 6e 20 3d | 3d 20 51 55 4f 54 45 29 |& (*in =|= QUOTE)|
|000016c0| 29 20 7c 7c 20 28 21 71 | 75 6f 74 65 20 26 26 20 |) || (!q|uote && |
|000016d0| 28 2a 69 6e 20 3d 3d 20 | 27 20 27 29 29 29 20 7b |(*in == |' '))) {|
|000016e0| 0a 09 09 09 09 09 09 09 | 09 09 73 74 61 74 65 20 |........|..state |
|000016f0| 3d 20 4e 4f 44 45 3b 0a | 09 09 09 09 09 09 09 09 |= NODE;.|........|
|00001700| 7d 0a 09 09 09 09 09 09 | 09 09 62 72 65 61 6b 3b |}.......|..break;|
|00001710| 0a 09 09 09 09 09 09 09 | 63 61 73 65 20 4e 4f 44 |........|case NOD|
|00001720| 45 3a 0a 09 09 09 09 09 | 09 09 09 69 66 20 28 2a |E:......|...if (*|
|00001730| 69 6e 20 21 3d 20 27 20 | 27 29 20 7b 0a 09 09 09 |in != ' |') {....|
|00001740| 09 09 09 09 09 09 71 75 | 6f 74 65 20 3d 20 28 2a |......qu|ote = (*|
|00001750| 69 6e 20 3d 3d 20 51 55 | 4f 54 45 29 3b 0a 09 09 |in == QU|OTE);...|
|00001760| 09 09 09 09 09 09 09 2a | 6f 75 74 2b 2b 20 3d 20 |.......*|out++ = |
|00001770| 45 53 43 3b 0a 09 09 09 | 09 09 09 09 09 09 2a 6f |ESC;....|......*o|
|00001780| 75 74 2b 2b 20 3d 20 27 | 5b 27 3b 0a 09 09 09 09 |ut++ = '|[';.....|
|00001790| 09 09 09 09 09 2a 6f 75 | 74 2b 2b 20 3d 20 6d 79 |.....*ou|t++ = my|
|000017a0| 66 6f 6e 74 5b 4e 4f 44 | 45 46 4f 4e 54 5d 3b 0a |font[NOD|EFONT];.|
|000017b0| 09 09 09 09 09 09 09 09 | 09 2a 6f 75 74 2b 2b 20 |........|.*out++ |
|000017c0| 3d 20 27 6d 27 3b 0a 09 | 09 09 09 09 09 09 09 09 |= 'm';..|........|
|000017d0| 73 74 61 74 65 20 3d 20 | 4e 4f 44 45 53 45 4e 44 |state = |NODESEND|
|000017e0| 3b 0a 09 09 09 09 09 09 | 09 09 7d 0a 09 09 09 09 |;.......|..}.....|
|000017f0| 09 09 09 09 62 72 65 61 | 6b 3b 0a 09 09 09 09 09 |....brea|k;......|
|00001800| 09 09 63 61 73 65 20 4e | 4f 44 45 53 45 4e 44 3a |..case N|ODESEND:|
|00001810| 0a 09 09 09 09 09 09 09 | 09 69 66 20 28 28 71 75 |........|.if ((qu|
|00001820| 6f 74 65 20 26 26 20 28 | 2a 69 6e 20 3d 3d 20 51 |ote && (|*in == Q|
|00001830| 55 4f 54 45 29 29 20 7c | 7c 20 28 21 71 75 6f 74 |UOTE)) ||| (!quot|
|00001840| 65 20 26 26 20 28 2a 69 | 6e 20 3d 3d 20 27 20 27 |e && (*i|n == ' '|
|00001850| 29 29 20 7c 7c 20 28 2a | 69 6e 20 3d 3d 20 52 45 |)) || (*|in == RE|
|00001860| 54 29 29 20 7b 0a 09 09 | 09 09 09 09 09 09 09 2a |T)) {...|.......*|
|00001870| 6f 75 74 2b 2b 20 3d 20 | 45 53 43 3b 0a 09 09 09 |out++ = |ESC;....|
|00001880| 09 09 09 09 09 09 2a 6f | 75 74 2b 2b 20 3d 20 27 |......*o|ut++ = '|
|00001890| 5b 27 3b 0a 09 09 09 09 | 09 09 09 09 09 2a 6f 75 |[';.....|.....*ou|
|000018a0| 74 2b 2b 20 3d 20 46 4f | 4e 54 5f 4e 4f 52 4d 41 |t++ = FO|NT_NORMA|
|000018b0| 4c 3b 0a 09 09 09 09 09 | 09 09 09 09 2a 6f 75 74 |L;......|....*out|
|000018c0| 2b 2b 20 3d 20 27 6d 27 | 3b 0a 09 09 09 09 09 09 |++ = 'm'|;.......|
|000018d0| 09 09 09 2a 6f 75 74 2b | 2b 20 3d 20 52 45 54 3b |...*out+|+ = RET;|
|000018e0| 0a 09 09 09 09 09 09 09 | 09 09 2a 6f 75 74 2b 2b |........|..*out++|
|000018f0| 20 3d 20 52 45 54 3b 0a | 09 09 09 09 09 09 09 09 | = RET;.|........|
|00001900| 09 69 66 20 28 2a 69 6e | 20 3d 3d 20 52 45 54 29 |.if (*in| == RET)|
|00001910| 20 7b 0a 09 09 09 09 09 | 09 09 09 09 09 73 74 61 | {......|.....sta|
|00001920| 74 65 20 3d 20 4e 4f 4e | 45 3b 0a 09 09 09 09 09 |te = NON|E;......|
|00001930| 09 09 09 09 7d 0a 09 09 | 09 09 09 09 09 09 09 65 |....}...|.......e|
|00001940| 6c 73 65 20 7b 0a 09 09 | 09 09 09 09 09 09 09 09 |lse {...|........|
|00001950| 73 74 61 74 65 20 3d 20 | 54 49 4c 4c 45 4e 44 3b |state = |TILLEND;|
|00001960| 0a 09 09 09 09 09 09 09 | 09 09 7d 0a 09 09 09 09 |........|..}.....|
|00001970| 09 09 09 09 7d 0a 09 09 | 09 09 09 09 09 09 65 6c |....}...|......el|
|00001980| 73 65 20 7b 0a 09 09 09 | 09 09 09 09 09 09 2a 6f |se {....|......*o|
|00001990| 75 74 2b 2b 20 3d 20 2a | 69 6e 3b 0a 09 09 09 09 |ut++ = *|in;.....|
|000019a0| 09 09 09 09 7d 0a 09 09 | 09 09 09 09 09 09 62 72 |....}...|......br|
|000019b0| 65 61 6b 3b 0a 09 09 09 | 09 09 09 09 64 65 66 61 |eak;....|....defa|
|000019c0| 75 6c 74 3a 0a 09 09 09 | 09 09 09 09 09 2a 6f 75 |ult:....|.....*ou|
|000019d0| 74 2b 2b 20 3d 20 2a 69 | 6e 3b 0a 09 09 09 09 09 |t++ = *i|n;......|
|000019e0| 09 09 09 62 72 65 61 6b | 3b 0a 09 09 09 09 09 09 |...break|;.......|
|000019f0| 09 7d 0a 09 09 09 09 09 | 09 09 69 6e 2b 2b 3b 0a |.}......|..in++;.|
|00001a00| 09 09 09 09 09 09 7d 0a | 09 09 09 09 09 09 66 77 |......}.|......fw|
|00001a10| 72 69 74 65 28 62 6f 75 | 74 2c 6f 75 74 20 2d 20 |rite(bou|t,out - |
|00001a20| 62 6f 75 74 2c 31 2c 74 | 6f 29 3b 0a 09 09 09 09 |bout,1,t|o);.....|
|00001a30| 09 09 6f 6b 20 3d 20 54 | 52 55 45 3b 0a 09 09 09 |..ok = T|RUE;....|
|00001a40| 09 09 7d 0a 09 09 09 09 | 09 65 6c 73 65 20 7b 0a |..}.....|.else {.|
|00001a50| 09 09 09 09 09 09 70 72 | 69 6e 74 66 28 22 45 72 |......pr|intf("Er|
|00001a60| 72 6f 72 20 61 6c 6c 6f | 63 61 74 69 6e 67 20 6d |ror allo|cating m|
|00001a70| 65 6d 6f 72 79 5c 6e 22 | 29 3b 0a 09 09 09 09 09 |emory\n"|);......|
|00001a80| 7d 0a 09 09 09 09 09 69 | 66 20 28 62 69 6e 29 20 |}......i|f (bin) |
|00001a90| 7b 0a 09 09 09 09 09 09 | 66 72 65 65 28 62 69 6e |{.......|free(bin|
|00001aa0| 29 3b 0a 09 09 09 09 09 | 7d 0a 09 09 09 09 09 69 |);......|}......i|
|00001ab0| 66 20 28 62 6f 75 74 29 | 20 7b 0a 09 09 09 09 09 |f (bout)| {......|
|00001ac0| 09 66 72 65 65 28 62 6f | 75 74 29 3b 0a 09 09 09 |.free(bo|ut);....|
|00001ad0| 09 09 7d 0a 09 09 09 09 | 09 66 63 6c 6f 73 65 28 |..}.....|.fclose(|
|00001ae0| 74 6f 29 3b 0a 09 09 09 | 09 7d 0a 09 09 09 09 65 |to);....|.}.....e|
|00001af0| 6c 73 65 20 7b 0a 09 09 | 09 09 09 70 72 69 6e 74 |lse {...|...print|
|00001b00| 66 28 22 45 72 72 6f 72 | 20 6f 70 65 6e 69 6e 67 |f("Error| opening|
|00001b10| 20 54 4f 5c 6e 22 29 3b | 0a 09 09 09 09 7d 0a 09 | TO\n");|.....}..|
|00001b20| 09 09 7d 0a 09 09 09 65 | 6c 73 65 20 7b 0a 09 09 |..}....e|lse {...|
|00001b30| 09 09 70 72 69 6e 74 66 | 28 22 46 52 4f 4d 20 65 |..printf|("FROM e|
|00001b40| 6d 70 74 79 5c 6e 22 29 | 3b 0a 09 09 09 7d 0a 09 |mpty\n")|;....}..|
|00001b50| 09 09 66 63 6c 6f 73 65 | 28 66 72 6f 6d 29 3b 0a |..fclose|(from);.|
|00001b60| 09 09 7d 0a 09 09 65 6c | 73 65 20 7b 0a 09 09 09 |..}...el|se {....|
|00001b70| 70 72 69 6e 74 66 28 22 | 45 72 72 6f 72 20 6f 70 |printf("|Error op|
|00001b80| 65 6e 69 6e 67 20 46 52 | 4f 4d 5c 6e 22 29 3b 0a |ening FR|OM\n");.|
|00001b90| 09 09 7d 0a 09 09 46 72 | 65 65 41 72 67 73 28 72 |..}...Fr|eeArgs(r|
|00001ba0| 64 61 72 67 73 29 3b 0a | 09 7d 0a 09 65 6c 73 65 |dargs);.|.}..else|
|00001bb0| 20 7b 0a 09 09 70 72 69 | 6e 74 66 28 22 45 72 72 | {...pri|ntf("Err|
|00001bc0| 6f 72 20 69 6e 20 52 65 | 61 64 41 72 67 73 5c 6e |or in Re|adArgs\n|
|00001bd0| 22 29 3b 0a 09 7d 0a 09 | 69 66 20 28 6f 6b 29 20 |");..}..|if (ok) |
|00001be0| 7b 0a 09 09 72 65 74 75 | 72 6e 20 30 3b 0a 09 7d |{...retu|rn 0;..}|
|00001bf0| 0a 09 65 6c 73 65 20 7b | 0a 09 09 72 65 74 75 72 |..else {|...retur|
|00001c00| 6e 20 31 30 3b 0a 09 7d | 0a 7d 0a 0a 76 6f 69 64 |n 10;..}|.}..void|
|00001c10| 20 73 65 74 66 6f 6e 74 | 28 63 68 61 72 20 2a 20 | setfont|(char * |
|00001c20| 73 74 72 2c 69 6e 74 20 | 69 6e 64 29 20 7b 0a 20 |str,int |ind) {. |
|00001c30| 20 69 66 20 28 21 28 73 | 74 72 69 63 6d 70 28 73 | if (!(s|tricmp(s|
|00001c40| 74 72 2c 20 22 50 4c 41 | 49 4e 22 29 29 29 20 7b |tr, "PLA|IN"))) {|
|00001c50| 0a 09 09 6d 79 66 6f 6e | 74 5b 69 6e 64 5d 3d 46 |...myfon|t[ind]=F|
|00001c60| 4f 4e 54 5f 4e 4f 52 4d | 41 4c 3b 0a 09 09 72 65 |ONT_NORM|AL;...re|
|00001c70| 74 75 72 6e 3b 0a 09 7d | 0a 20 20 69 66 20 28 21 |turn;..}|. if (!|
|00001c80| 28 73 74 72 69 63 6d 70 | 28 73 74 72 2c 20 22 49 |(stricmp|(str, "I|
|00001c90| 54 41 4c 49 43 22 29 29 | 29 20 7b 0a 09 09 6d 79 |TALIC"))|) {...my|
|00001ca0| 66 6f 6e 74 5b 69 6e 64 | 5d 3d 46 4f 4e 54 5f 49 |font[ind|]=FONT_I|
|00001cb0| 54 41 4c 49 43 3b 0a 09 | 09 72 65 74 75 72 6e 3b |TALIC;..|.return;|
|00001cc0| 0a 09 7d 0a 20 20 69 66 | 20 28 21 28 73 74 72 69 |..}. if| (!(stri|
|00001cd0| 63 6d 70 28 73 74 72 2c | 20 22 52 45 56 45 52 53 |cmp(str,| "REVERS|
|00001ce0| 45 22 29 29 29 20 7b 0a | 09 09 6d 79 66 6f 6e 74 |E"))) {.|..myfont|
|00001cf0| 5b 69 6e 64 5d 3d 46 4f | 4e 54 5f 52 45 56 45 52 |[ind]=FO|NT_REVER|
|00001d00| 53 45 3b 0a 09 09 72 65 | 74 75 72 6e 3b 0a 09 7d |SE;...re|turn;..}|
|00001d10| 0a 20 20 69 66 20 28 21 | 28 73 74 72 69 63 6d 70 |. if (!|(stricmp|
|00001d20| 28 73 74 72 2c 20 22 42 | 4f 4c 44 22 29 29 29 20 |(str, "B|OLD"))) |
|00001d30| 7b 0a 09 09 6d 79 66 6f | 6e 74 5b 69 6e 64 5d 3d |{...myfo|nt[ind]=|
|00001d40| 46 4f 4e 54 5f 42 4f 4c | 44 3b 0a 09 09 72 65 74 |FONT_BOL|D;...ret|
|00001d50| 75 72 6e 3b 0a 09 7d 0a | 20 20 69 66 20 28 21 28 |urn;..}.| if (!(|
|00001d60| 73 74 72 69 63 6d 70 28 | 73 74 72 2c 20 22 55 4e |stricmp(|str, "UN|
|00001d70| 44 45 52 4c 49 4e 45 22 | 29 29 29 20 7b 0a 09 09 |DERLINE"|))) {...|
|00001d80| 6d 79 66 6f 6e 74 5b 69 | 6e 64 5d 3d 46 4f 4e 54 |myfont[i|nd]=FONT|
|00001d90| 5f 55 4e 44 45 52 4c 49 | 4e 45 3b 0a 09 09 72 65 |_UNDERLI|NE;...re|
|00001da0| 74 75 72 6e 3b 0a 09 7d | 0a 7d 0a 1f fa 2d 6c 68 |turn;..}|.}...-lh|
|00001db0| 30 2d ab 1e 00 00 ab 1e | 00 00 f0 a9 5e 1d 00 00 |0-......|....^...|
|00001dc0| 09 61 70 61 63 6b 2e 61 | 73 6d a4 da 20 0a 2a 2a |.apack.a|sm.. .**|
|00001dd0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001de0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001df0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001e00| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 20 0a |********|****** .|
|00001e10| 2a 20 0a 2a 20 20 43 6f | 70 79 72 69 67 68 74 20 |* .* Co|pyright |
|00001e20| 31 39 38 38 20 62 79 20 | 43 52 45 41 54 49 56 45 |1988 by |CREATIVE|
|00001e30| 20 46 4f 43 55 53 2e 20 | 20 54 68 69 73 20 63 6f | FOCUS. | This co|
|00001e40| 64 65 20 69 73 20 66 72 | 65 65 6c 79 20 0a 2a 20 |de is fr|eely .* |
|00001e50| 20 64 69 73 74 72 69 62 | 75 74 61 62 6c 65 20 61 | distrib|utable a|
|00001e60| 73 20 6c 6f 6e 67 20 61 | 73 20 74 68 69 73 20 6e |s long a|s this n|
|00001e70| 6f 74 69 63 65 20 69 73 | 20 72 65 74 61 69 6e 65 |otice is| retaine|
|00001e80| 64 20 61 6e 64 20 6e 6f | 20 0a 2a 20 20 6f 74 68 |d and no| .* oth|
|00001e90| 65 72 20 63 6f 6e 64 69 | 74 69 6f 6e 73 20 61 72 |er condi|tions ar|
|00001ea0| 65 20 69 6d 70 6f 73 65 | 64 20 75 70 6f 6e 20 69 |e impose|d upon i|
|00001eb0| 74 73 20 72 65 64 69 73 | 74 72 69 62 75 74 69 6f |ts redis|tributio|
|00001ec0| 6e 2e 20 0a 2a 20 0a 2a | 20 0a 2a 20 20 41 50 41 |n. .* .*| .* APA|
|00001ed0| 43 4b 2e 41 53 4d 20 2d | 2d 20 20 0a 2a 20 0a 2a |CK.ASM -|- .* .*|
|00001ee0| 20 20 41 20 66 75 6c 6c | 79 20 63 6f 6d 70 61 74 | A full|y compat|
|00001ef0| 69 62 6c 65 20 72 65 70 | 6c 61 63 65 6d 65 6e 74 |ible rep|lacement|
|00001f00| 20 66 6f 72 20 45 6c 65 | 63 74 72 6f 6e 69 63 20 | for Ele|ctronic |
|00001f10| 41 72 74 73 27 20 50 41 | 43 4b 45 52 2e 43 20 0a |Arts' PA|CKER.C .|
|00001f20| 2a 20 20 72 6f 75 74 69 | 6e 65 2e 20 20 43 6f 6e |* routi|ne. Con|
|00001f30| 76 65 72 74 73 20 64 61 | 74 61 20 61 63 63 6f 72 |verts da|ta accor|
|00001f40| 64 69 6e 67 20 74 6f 20 | 74 68 65 20 49 46 46 20 |ding to |the IFF |
|00001f50| 49 4c 42 4d 20 63 6d 70 | 42 79 74 65 52 75 6e 31 |ILBM cmp|ByteRun1|
|00001f60| 20 0a 2a 20 20 63 6f 6d | 70 72 65 73 73 69 6f 6e | .* com|pression|
|00001f70| 20 70 72 6f 74 6f 63 6f | 6c 3a 20 0a 2a 20 0a 2a | protoco|l: .* .*|
|00001f80| 20 20 20 20 20 63 6f 6e | 74 72 6f 6c 20 62 79 74 | con|trol byt|
|00001f90| 65 73 3a 20 0a 2a 20 0a | 2a 20 20 20 20 20 20 20 |es: .* .|* |
|00001fa0| 20 6e 20 3d 20 20 30 2e | 2e 20 31 32 37 3a 20 20 | n = 0.|. 127: |
|00001fb0| 20 66 6f 6c 6c 6f 77 65 | 64 20 62 79 20 6e 2b 31 | followe|d by n+1|
|00001fc0| 20 62 79 74 65 73 20 6f | 66 20 64 61 74 61 3b 20 | bytes o|f data; |
|00001fd0| 0a 2a 20 20 20 20 20 20 | 20 20 6e 20 3d 20 2d 31 |.* | n = -1|
|00001fe0| 2e 2e 2d 31 32 37 3a 20 | 20 20 66 6f 6c 6c 6f 77 |..-127: | follow|
|00001ff0| 65 64 20 62 79 20 62 79 | 74 65 20 74 6f 20 62 65 |ed by by|te to be|
|00002000| 20 72 65 70 65 61 74 65 | 64 20 2d 6e 2b 31 20 74 | repeate|d -n+1 t|
|00002010| 69 6d 65 73 3b 20 0a 2a | 20 20 20 20 20 20 20 20 |imes; .*| |
|00002020| 6e 20 3d 20 20 20 20 20 | 2d 31 32 38 3a 20 20 20 |n = |-128: |
|00002030| 64 6f 6e 27 74 20 64 6f | 20 6e 6f 20 6e 61 64 61 |don't do| no nada|
|00002040| 2e 20 0a 2a 20 0a 2a 20 | 20 20 20 20 63 61 6c 6c |. .* .* | call|
|00002050| 69 6e 67 20 66 6f 72 6d | 61 74 3a 20 0a 2a 20 0a |ing form|at: .* .|
|00002060| 2a 20 20 20 20 20 20 20 | 20 6c 6f 6e 67 20 70 61 |* | long pa|
|00002070| 63 6b 72 6f 77 28 66 72 | 6f 6d 2c 20 74 6f 6f 2c |ckrow(fr|om, too,|
|00002080| 20 61 6d 74 29 20 0a 2a | 20 20 20 20 20 20 20 20 | amt) .*| |
|00002090| 20 20 20 63 68 61 72 20 | 2a 2a 66 72 6f 6d 2c 20 | char |**from, |
|000020a0| 2f 2a 20 70 6f 69 6e 74 | 65 72 20 74 6f 20 73 6f |/* point|er to so|
|000020b0| 75 72 63 65 20 64 61 74 | 61 20 70 6f 69 6e 74 65 |urce dat|a pointe|
|000020c0| 72 20 2a 2f 20 0a 2a 20 | 20 20 20 20 20 20 20 20 |r */ .* | |
|000020d0| 20 20 20 20 20 20 20 2a | 2a 74 6f 6f 3b 20 20 2f | *|*too; /|
|000020e0| 2a 20 70 6f 69 6e 74 65 | 72 20 74 6f 20 64 65 73 |* pointe|r to des|
|000020f0| 74 69 6e 61 74 69 6f 6e | 20 64 61 74 61 20 70 6f |tination| data po|
|00002100| 69 6e 74 65 72 20 2a 2f | 20 0a 2a 20 20 20 20 20 |inter */| .* |
|00002110| 20 20 20 20 20 20 6c 6f | 6e 67 20 61 6d 74 3b 20 | lo|ng amt; |
|00002120| 20 20 20 2f 2a 20 6e 75 | 6d 62 65 72 20 6f 66 20 | /* nu|mber of |
|00002130| 62 79 74 65 73 20 74 6f | 20 63 6f 6d 70 72 65 73 |bytes to| compres|
|00002140| 73 20 2a 2f 20 0a 2a 20 | 0a 2a 20 20 20 20 20 20 |s */ .* |.* |
|00002150| 20 20 72 65 74 75 72 6e | 28 6e 75 6d 62 65 72 20 | return|(number |
|00002160| 6f 66 20 62 79 74 65 73 | 20 77 72 69 74 74 65 6e |of bytes| written|
|00002170| 20 74 6f 20 64 65 73 74 | 69 6e 61 74 69 6f 6e 29 | to dest|ination)|
|00002180| 3b 20 0a 2a 20 0a 2a 20 | 20 20 20 20 65 66 66 65 |; .* .* | effe|
|00002190| 63 74 73 3a 20 0a 2a 20 | 0a 2a 20 20 20 20 20 20 |cts: .* |.* |
|000021a0| 20 20 20 2a 66 72 6f 6d | 20 3d 20 2a 66 72 6f 6d | *from| = *from|
|000021b0| 20 2b 20 61 6d 74 2c 20 | 61 6e 64 20 2a 74 6f 6f | + amt, |and *too|
|000021c0| 20 3d 20 2a 74 6f 6f 20 | 2b 20 72 65 74 75 72 6e | = *too |+ return|
|000021d0| 3b 20 0a 2a 20 20 20 20 | 20 20 20 20 20 72 65 74 |; .* | ret|
|000021e0| 75 72 6e 20 69 73 20 22 | 73 6d 61 72 74 2c 22 20 |urn is "|smart," |
|000021f0| 74 68 61 74 20 69 73 2c | 20 6e 6f 74 20 67 72 65 |that is,| not gre|
|00002200| 61 74 65 72 20 74 68 61 | 6e 20 0a 2a 20 20 20 20 |ater tha|n .* |
|00002210| 20 20 20 20 20 4d 61 78 | 50 61 63 6b 65 64 53 69 | Max|PackedSi|
|00002220| 7a 65 20 3d 20 61 6d 74 | 20 2b 20 28 28 61 6d 74 |ze = amt| + ((amt|
|00002230| 2b 31 32 37 29 20 3e 3e | 20 37 29 2e 20 0a 2a 20 |+127) >>| 7). .* |
|00002240| 0a 2a 20 20 20 20 20 42 | 79 20 63 6f 6d 6d 65 6e |.* B|y commen|
|00002250| 74 69 6e 67 20 6f 75 74 | 20 43 48 45 43 4b 20 28 |ting out| CHECK (|
|00002260| 62 65 6c 6f 77 29 20 79 | 6f 75 20 64 69 73 61 62 |below) y|ou disab|
|00002270| 6c 65 20 63 68 65 63 6b | 69 6e 67 20 66 6f 72 20 |le check|ing for |
|00002280| 72 75 6e 73 20 0a 2a 20 | 20 20 20 20 65 78 63 65 |runs .* | exce|
|00002290| 65 64 69 6e 67 20 31 32 | 38 20 62 79 74 65 73 2e |eding 12|8 bytes.|
|000022a0| 20 20 54 68 61 74 20 43 | 48 45 43 4b 20 69 73 20 | That C|HECK is |
|000022b0| 6e 6f 74 20 6e 65 65 64 | 65 64 20 69 66 20 79 6f |not need|ed if yo|
|000022c0| 75 20 61 72 65 20 73 75 | 72 65 20 0a 2a 20 20 20 |u are su|re .* |
|000022d0| 20 20 74 68 65 20 61 6d | 74 20 74 6f 20 62 65 20 | the am|t to be |
|000022e0| 63 6f 6d 70 72 65 73 73 | 65 64 20 69 73 20 61 6c |compress|ed is al|
|000022f0| 77 61 79 73 20 31 32 38 | 20 6f 72 20 6c 65 73 73 |ways 128| or less|
|00002300| 2e 20 0a 2a 20 0a 2a 20 | 20 21 21 21 20 44 49 53 |. .* .* | !!! DIS|
|00002310| 43 4c 41 49 4d 45 52 20 | 21 21 21 20 20 59 6f 75 |CLAIMER |!!! You|
|00002320| 20 75 73 65 20 74 68 69 | 73 20 63 6f 64 65 20 65 | use thi|s code e|
|00002330| 6e 74 69 72 65 6c 79 20 | 61 74 20 79 6f 75 72 20 |ntirely |at your |
|00002340| 6f 77 6e 20 0a 2a 20 20 | 72 69 73 6b 2e 20 20 49 |own .* |risk. I|
|00002350| 20 64 6f 6e 27 74 20 77 | 61 72 72 61 6e 74 65 65 | don't w|arrantee|
|00002360| 20 69 74 73 20 66 69 74 | 6e 65 73 73 20 66 6f 72 | its fit|ness for|
|00002370| 20 61 6e 79 20 70 75 72 | 70 6f 73 65 2e 20 20 49 | any pur|pose. I|
|00002380| 20 0a 2a 20 20 63 61 6e | 27 74 20 65 76 65 6e 20 | .* can|'t even |
|00002390| 67 75 61 72 61 6e 74 65 | 65 20 74 68 65 20 61 63 |guarante|e the ac|
|000023a0| 63 75 72 61 63 79 20 6f | 66 20 61 6e 79 74 68 69 |curacy o|f anythi|
|000023b0| 6e 67 20 49 27 76 65 20 | 73 61 69 64 20 0a 2a 20 |ng I've |said .* |
|000023c0| 20 61 62 6f 75 74 20 69 | 74 2c 20 74 68 6f 75 67 | about i|t, thoug|
|000023d0| 68 20 49 27 76 65 20 74 | 72 69 65 64 20 6d 79 20 |h I've t|ried my |
|000023e0| 64 61 6d 6e 64 65 73 74 | 20 74 6f 20 67 65 74 20 |damndest| to get |
|000023f0| 69 74 20 72 69 67 68 74 | 2e 20 0a 2a 20 20 49 20 |it right|. .* I |
|00002400| 6d 61 79 2c 20 69 6e 20 | 66 61 63 74 2c 20 62 65 |may, in |fact, be|
|00002410| 20 63 6f 6d 70 6c 65 74 | 65 6c 79 20 6f 75 74 20 | complet|ely out |
|00002420| 6f 66 20 6d 79 20 74 69 | 6e 79 20 6c 69 74 74 6c |of my ti|ny littl|
|00002430| 65 20 6d 69 6e 64 20 3a | 2d 29 2e 20 0a 2a 20 0a |e mind :|-). .* .|
|00002440| 2a 20 20 54 68 61 74 20 | 62 65 69 6e 67 20 73 61 |* That |being sa|
|00002450| 69 64 2c 20 49 20 63 61 | 6e 20 62 65 20 72 65 61 |id, I ca|n be rea|
|00002460| 63 68 65 64 20 66 6f 72 | 20 71 75 65 73 74 69 6f |ched for| questio|
|00002470| 6e 73 2c 20 63 6f 6d 6d | 65 6e 74 73 2c 20 0a 2a |ns, comm|ents, .*|
|00002480| 20 20 6f 72 20 63 6f 6e | 63 65 72 6e 73 20 61 74 | or con|cerns at|
|00002490| 3a 20 0a 2a 20 0a 2a 20 | 20 20 20 20 20 20 20 44 |: .* .* | D|
|000024a0| 72 2e 20 47 65 72 61 6c | 64 20 48 75 6c 6c 20 0a |r. Geral|d Hull .|
|000024b0| 2a 20 20 20 20 20 20 20 | 20 43 52 45 41 54 49 56 |* | CREATIV|
|000024c0| 45 20 46 4f 43 55 53 20 | 0a 2a 20 20 20 20 20 20 |E FOCUS |.* |
|000024d0| 20 20 31 32 20 57 68 69 | 74 65 20 53 74 72 65 65 | 12 Whi|te Stree|
|000024e0| 74 20 0a 2a 20 20 20 20 | 20 20 20 20 42 69 6e 67 |t .* | Bing|
|000024f0| 68 61 6d 74 6f 6e 2c 20 | 4e 2e 59 2e 20 20 31 33 |hamton, |N.Y. 13|
|00002500| 39 30 31 20 0a 2a 20 20 | 20 20 20 20 20 20 28 36 |901 .* | (6|
|00002510| 30 37 29 20 36 34 38 2d | 34 30 38 32 20 0a 2a 20 |07) 648-|4082 .* |
|00002520| 0a 2a 20 20 20 20 20 20 | 20 20 62 69 78 3a 20 20 |.* | bix: |
|00002530| 20 20 67 68 75 6c 6c 20 | 0a 2a 20 20 20 20 20 20 | ghull |.* |
|00002540| 20 20 50 4c 69 6e 6b 3a | 20 20 44 52 4a 45 52 52 | PLink:| DRJERR|
|00002550| 59 20 0a 2a 20 0a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |Y .* .**|********|
|00002560| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002570| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002580| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002590| 2a 2a 2a 2a 2a 20 0a 0a | 2a 20 65 64 69 74 65 64 |***** ..|* edited|
|000025a0| 20 62 79 20 6d 6a 70 20 | 74 6f 20 63 6f 6d 70 69 | by mjp |to compi|
|000025b0| 6c 65 20 77 69 74 68 20 | 53 41 53 2f 43 20 35 2e |le with |SAS/C 5.|
|000025c0| 31 30 0a 0a 20 20 20 78 | 64 65 66 20 20 5f 70 61 |10.. x|def _pa|
|000025d0| 63 6b 72 6f 77 20 0a 20 | 0a 09 73 65 63 74 69 6f |ckrow . |..sectio|
|000025e0| 6e 20 63 6f 64 65 0a 20 | 0a 2a 61 30 20 20 20 20 |n code. |.*a0 |
|000025f0| 65 71 75 72 20 20 61 30 | 20 20 20 20 20 20 20 20 |equr a0| |
|00002600| 20 20 20 20 20 20 20 20 | 2d 3e 20 62 65 67 69 6e | |-> begin|
|00002610| 6e 69 6e 67 20 6f 66 20 | 72 65 70 6c 69 63 61 74 |ning of |replicat|
|00002620| 65 20 72 75 6e 20 28 69 | 66 20 61 6e 79 29 20 0a |e run (i|f any) .|
|00002630| 2a 61 31 20 20 20 20 65 | 71 75 72 20 20 61 31 20 |*a1 e|qur a1 |
|00002640| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 2d | | -|
|00002650| 3e 20 65 6e 64 2b 31 20 | 6f 66 20 69 6e 70 75 74 |> end+1 |of input|
|00002660| 20 6c 69 6e 65 20 0a 2a | 61 32 20 20 20 20 65 71 | line .*|a2 eq|
|00002670| 75 72 20 20 61 32 20 20 | 20 20 20 20 20 20 20 20 |ur a2 | |
|00002680| 20 20 20 20 20 20 2d 3e | 20 62 65 67 69 6e 6e 69 | ->| beginni|
|00002690| 6e 67 20 6f 66 20 6c 69 | 74 65 72 61 6c 20 72 75 |ng of li|teral ru|
|000026a0| 6e 20 28 69 66 20 61 6e | 79 29 20 0a 2a 61 33 20 |n (if an|y) .*a3 |
|000026b0| 20 20 20 65 71 75 72 20 | 20 61 33 20 20 20 20 20 | equr | a3 |
|000026c0| 20 20 20 20 20 20 20 20 | 20 20 20 2d 3e 20 65 6e | | -> en|
|000026d0| 64 2b 31 20 6f 66 20 6c | 69 74 20 61 6e 64 2f 6f |d+1 of l|it and/o|
|000026e0| 72 20 72 65 70 20 72 75 | 6e 20 28 69 66 20 61 6e |r rep ru|n (if an|
|000026f0| 79 29 20 0a 2a 61 34 20 | 20 20 20 65 71 75 72 20 |y) .*a4 | equr |
|00002700| 20 61 34 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | a4 | |
|00002710| 20 20 20 2d 3e 20 65 6e | 64 2b 31 20 6f 66 20 6f | -> en|d+1 of o|
|00002720| 75 74 70 75 74 20 6c 69 | 6e 65 20 63 75 72 72 65 |utput li|ne curre|
|00002730| 6e 74 20 70 6f 73 20 0a | 2a 61 35 20 20 20 20 65 |nt pos .|*a5 e|
|00002740| 71 75 72 20 20 61 36 20 | 20 20 20 20 20 20 20 20 |qur a6 | |
|00002750| 20 20 20 20 20 20 20 66 | 72 61 6d 65 20 70 6f 69 | f|rame poi|
|00002760| 6e 74 65 72 20 0a 2a 61 | 37 20 20 20 20 65 71 75 |nter .*a|7 equ|
|00002770| 72 20 20 61 37 20 20 20 | 20 20 20 20 20 20 20 20 |r a7 | |
|00002780| 20 20 20 20 20 73 74 61 | 63 6b 20 70 6f 69 6e 74 | sta|ck point|
|00002790| 65 72 20 0a 20 0a 2a 64 | 30 20 20 20 20 65 71 75 |er . .*d|0 equ|
|000027a0| 72 20 20 64 30 20 20 20 | 20 20 20 20 20 20 20 20 |r d0 | |
|000027b0| 20 20 20 20 20 72 65 74 | 75 72 6e 20 76 61 6c 75 | ret|urn valu|
|000027c0| 65 20 0a 2a 64 31 20 20 | 20 20 65 71 75 72 20 20 |e .*d1 | equr |
|000027d0| 64 31 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |d1 | |
|000027e0| 20 20 63 68 65 63 6b 20 | 66 6f 72 20 6d 61 78 69 | check |for maxi|
|000027f0| 6d 75 6d 20 72 75 6e 20 | 3d 20 4d 41 58 20 0a 2a |mum run |= MAX .*|
|00002800| 64 32 20 20 20 20 65 71 | 75 72 20 20 64 32 20 20 |d2 eq|ur d2 |
|00002810| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 61 6d | | am|
|00002820| 6f 75 6e 74 20 0a 2a 64 | 33 20 20 20 20 65 71 75 |ount .*d|3 equ|
|00002830| 72 20 20 64 33 20 20 20 | 20 20 20 20 20 20 20 20 |r d3 | |
|00002840| 20 20 20 20 20 63 68 61 | 72 61 63 74 65 72 20 0a | cha|racter .|
|00002850| 20 0a 2a 64 32 2f 64 33 | 2f 61 32 2f 61 33 2f 61 | .*d2/d3|/a2/a3/a|
|00002860| 34 20 20 72 65 67 20 20 | 20 64 32 2f 64 33 2f 61 |4 reg | d2/d3/a|
|00002870| 32 2f 61 33 2f 61 34 20 | 0a 20 0a 46 52 4d 20 20 |2/a3/a4 |. .FRM |
|00002880| 20 65 71 75 20 20 20 38 | 20 20 20 20 20 20 20 20 | equ 8| |
|00002890| 20 20 20 20 20 20 20 20 | 20 69 6e 70 75 74 20 6c | | input l|
|000028a0| 69 6e 65 20 61 64 64 72 | 65 73 73 20 0a 54 4f 4f |ine addr|ess .TOO|
|000028b0| 20 20 20 65 71 75 20 20 | 20 31 32 20 20 20 20 20 | equ | 12 |
|000028c0| 20 20 20 20 20 20 20 20 | 20 20 20 6f 75 74 70 75 | | outpu|
|000028d0| 74 20 6c 69 6e 65 20 61 | 64 64 72 65 73 73 20 0a |t line a|ddress .|
|000028e0| 41 4d 54 20 20 20 65 71 | 75 20 20 20 31 36 20 20 |AMT eq|u 16 |
|000028f0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 6c 65 | | le|
|00002900| 6e 67 74 68 20 6f 66 20 | 69 6e 70 75 74 20 6c 69 |ngth of |input li|
|00002910| 6e 65 20 0a 20 0a 4d 41 | 58 20 20 20 65 71 75 20 |ne . .MA|X equ |
|00002920| 20 20 31 32 38 20 20 20 | 20 20 20 20 20 20 20 20 | 128 | |
|00002930| 20 20 20 20 6d 61 78 69 | 6d 75 6d 20 65 6e 63 6f | maxi|mum enco|
|00002940| 64 61 62 6c 65 20 6f 75 | 74 70 75 74 20 72 75 6e |dable ou|tput run|
|00002950| 20 0a 43 48 45 43 4b 20 | 65 71 75 20 20 20 31 20 | .CHECK |equ 1 |
|00002960| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002970| 74 75 72 6e 73 20 6f 6e | 20 6d 61 78 69 6d 75 6d |turns on| maximum|
|00002980| 20 72 6f 77 20 63 68 65 | 63 6b 69 6e 67 20 0a 20 | row che|cking . |
|00002990| 0a 20 0a 5f 70 61 63 6b | 72 6f 77 20 0a 20 0a 20 |. ._pack|row . . |
|000029a0| 0a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |.*******|********|
|000029b0| 20 20 20 20 20 43 41 53 | 45 20 30 3a 20 20 20 47 | CAS|E 0: G|
|000029c0| 52 41 42 20 50 41 52 41 | 4d 53 20 26 20 49 4e 49 |RAB PARA|MS & INI|
|000029d0| 54 49 41 4c 49 5a 45 20 | 0a 43 41 53 30 20 0a 20 |TIALIZE |.CAS0 . |
|000029e0| 20 20 20 20 20 6c 69 6e | 6b 20 20 20 20 20 61 35 | lin|k a5|
|000029f0| 2c 23 30 20 0a 20 20 20 | 20 20 20 6d 6f 76 65 6d |,#0 . | movem|
|00002a00| 2e 6c 20 20 64 32 2f 64 | 33 2f 61 32 2f 61 33 2f |.l d2/d|3/a2/a3/|
|00002a10| 61 34 2c 2d 28 61 37 29 | 20 0a 20 20 20 20 20 20 |a4,-(a7)| . |
|00002a20| 6d 6f 76 65 61 2e 6c 20 | 20 46 52 4d 28 61 35 29 |movea.l | FRM(a5)|
|00002a30| 2c 61 32 20 0a 20 20 20 | 20 20 20 6d 6f 76 65 61 |,a2 . | movea|
|00002a40| 2e 6c 20 20 28 61 32 29 | 2c 61 32 20 20 20 20 20 |.l (a2)|,a2 |
|00002a50| 20 20 20 61 32 20 3d 20 | 2a 66 72 6f 6d 20 0a 20 | a2 = |*from . |
|00002a60| 20 20 20 20 20 6d 6f 76 | 65 61 2e 6c 20 20 61 32 | mov|ea.l a2|
|00002a70| 2c 61 33 20 20 20 20 20 | 20 20 20 20 20 61 33 20 |,a3 | a3 |
|00002a80| 3d 20 61 32 20 0a 20 20 | 20 20 20 20 6d 6f 76 65 |= a2 . | move|
|00002a90| 61 2e 6c 20 20 61 33 2c | 61 31 20 0a 20 20 20 20 |a.l a3,|a1 . |
|00002aa0| 20 20 61 64 64 61 2e 6c | 20 20 20 41 4d 54 28 61 | adda.l| AMT(a|
|00002ab0| 35 29 2c 61 31 20 20 20 | 20 20 61 31 20 3d 20 61 |5),a1 | a1 = a|
|00002ac0| 32 20 2b 20 61 6d 74 20 | 0a 20 20 20 20 20 20 6d |2 + amt |. m|
|00002ad0| 6f 76 65 61 2e 6c 20 20 | 54 4f 4f 28 61 35 29 2c |ovea.l |TOO(a5),|
|00002ae0| 61 34 20 0a 20 20 20 20 | 20 20 6d 6f 76 65 61 2e |a4 . | movea.|
|00002af0| 6c 20 20 28 61 34 29 2c | 61 34 20 20 20 20 20 20 |l (a4),|a4 |
|00002b00| 20 20 61 34 20 3d 20 2a | 74 6f 6f 20 0a 20 0a 20 | a4 = *|too . . |
|00002b10| 0a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |.*******|********|
|00002b20| 20 20 20 20 20 43 41 53 | 45 20 31 3a 20 20 20 4c | CAS|E 1: L|
|00002b30| 49 54 45 52 41 4c 20 52 | 55 4e 20 0a 43 41 53 31 |ITERAL R|UN .CAS1|
|00002b40| 20 0a 20 20 20 20 20 20 | 6d 6f 76 65 61 2e 6c 20 | . |movea.l |
|00002b50| 20 61 33 2c 61 30 20 20 | 20 20 20 20 20 20 20 20 | a3,a0 | |
|00002b60| 61 64 6a 75 73 74 20 61 | 30 20 28 6e 6f 20 72 65 |adjust a|0 (no re|
|00002b70| 70 6c 69 63 61 74 65 73 | 20 79 65 74 21 29 20 0a |plicates| yet!) .|
|00002b80| 20 20 20 20 20 20 6d 6f | 76 65 2e 62 20 20 20 28 | mo|ve.b (|
|00002b90| 61 33 29 2b 2c 64 33 20 | 20 20 20 20 20 20 67 72 |a3)+,d3 | gr|
|00002ba0| 61 62 20 63 68 61 72 61 | 63 74 65 72 20 0a 20 20 |ab chara|cter . |
|00002bb0| 20 20 20 20 63 6d 70 61 | 2e 6c 20 20 20 61 33 2c | cmpa|.l a3,|
|00002bc0| 61 31 20 20 20 20 20 20 | 20 20 20 20 69 66 20 69 |a1 | if i|
|00002bd0| 6e 70 75 74 20 69 73 20 | 66 69 6e 69 73 68 65 64 |nput is |finished|
|00002be0| 20 0a 20 20 20 20 20 20 | 62 65 71 2e 73 20 20 20 | . |beq.s |
|00002bf0| 20 43 41 53 35 20 20 20 | 20 20 20 20 20 20 20 20 | CAS5 | |
|00002c00| 20 20 20 62 72 61 6e 63 | 68 20 74 6f 20 63 61 73 | branc|h to cas|
|00002c10| 65 20 35 20 0a 20 0a 20 | 20 20 20 20 20 69 66 64 |e 5 . . | ifd|
|00002c20| 20 20 20 20 20 20 43 48 | 45 43 4b 20 0a 20 20 20 | CH|ECK . |
|00002c30| 20 20 20 6d 6f 76 65 2e | 6c 20 20 20 61 33 2c 64 | move.|l a3,d|
|00002c40| 31 20 0a 20 20 20 20 20 | 20 73 75 62 2e 6c 20 20 |1 . | sub.l |
|00002c50| 20 20 61 32 2c 64 31 20 | 0a 20 20 20 20 20 20 63 | a2,d1 |. c|
|00002c60| 6d 70 69 20 20 20 20 20 | 23 4d 41 58 2c 64 31 20 |mpi |#MAX,d1 |
|00002c70| 20 20 20 20 20 20 20 69 | 66 20 72 75 6e 20 68 61 | i|f run ha|
|00002c80| 73 20 72 65 61 63 68 65 | 64 20 4d 41 58 20 0a 20 |s reache|d MAX . |
|00002c90| 20 20 20 20 20 62 65 71 | 2e 73 20 20 20 20 43 41 | beq|.s CA|
|00002ca0| 53 36 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |S6 | |
|00002cb0| 62 72 61 6e 63 68 20 74 | 6f 20 63 61 73 65 20 36 |branch t|o case 6|
|00002cc0| 20 0a 20 20 20 20 20 20 | 65 6e 64 63 20 0a 20 0a | . |endc . .|
|00002cd0| 20 20 20 20 20 20 63 6d | 70 2e 62 20 20 20 20 28 | cm|p.b (|
|00002ce0| 61 33 29 2c 64 33 20 20 | 20 20 20 20 20 20 69 66 |a3),d3 | if|
|00002cf0| 20 6e 65 78 74 20 63 68 | 61 72 61 63 74 65 72 20 | next ch|aracter |
|00002d00| 21 3d 20 64 33 20 0a 20 | 20 20 20 20 20 62 6e 65 |!= d3 . | bne|
|00002d10| 2e 73 20 20 20 20 43 41 | 53 31 20 20 20 20 20 20 |.s CA|S1 |
|00002d20| 20 20 20 20 20 20 20 20 | 73 74 61 79 20 69 6e 20 | |stay in |
|00002d30| 63 61 73 65 20 31 20 0a | 20 0a 2a 20 20 20 20 20 |case 1 .| .* |
|00002d40| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002d50| 20 20 20 20 20 20 20 20 | 65 6c 73 65 20 66 61 6c | |else fal|
|00002d60| 6c 20 69 6e 74 6f 20 63 | 61 73 65 20 32 20 0a 20 |l into c|ase 2 . |
|00002d70| 0a 20 0a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |. .*****|********|
|00002d80| 2a 2a 20 20 20 20 20 43 | 41 53 45 20 32 3a 20 20 |** C|ASE 2: |
|00002d90| 20 41 54 20 4c 45 41 53 | 54 20 32 20 42 59 54 45 | AT LEAS|T 2 BYTE|
|00002da0| 20 52 45 50 45 41 54 20 | 0a 43 41 53 32 20 0a 20 | REPEAT |.CAS2 . |
|00002db0| 20 20 20 20 20 6d 6f 76 | 65 2e 62 20 20 20 28 61 | mov|e.b (a|
|00002dc0| 33 29 2b 2c 64 33 20 20 | 20 20 20 20 20 67 72 61 |3)+,d3 | gra|
|00002dd0| 62 20 63 68 61 72 61 63 | 74 65 72 20 0a 20 20 20 |b charac|ter . |
|00002de0| 20 20 20 63 6d 70 61 2e | 6c 20 20 20 61 33 2c 61 | cmpa.|l a3,a|
|00002df0| 31 20 20 20 20 20 20 20 | 20 20 20 69 66 20 69 6e |1 | if in|
|00002e00| 70 75 74 20 69 73 20 66 | 69 6e 69 73 68 65 64 20 |put is f|inished |
|00002e10| 0a 20 20 20 20 20 20 62 | 65 71 2e 73 20 20 20 20 |. b|eq.s |
|00002e20| 43 41 53 37 20 20 20 20 | 20 20 20 20 20 20 20 20 |CAS7 | |
|00002e30| 20 20 62 72 61 6e 63 68 | 20 74 6f 20 63 61 73 65 | branch| to case|
|00002e40| 20 37 20 0a 20 0a 20 20 | 20 20 20 20 69 66 64 20 | 7 . . | ifd |
|00002e50| 20 20 20 20 20 43 48 45 | 43 4b 20 0a 20 20 20 20 | CHE|CK . |
|00002e60| 20 20 6d 6f 76 65 2e 6c | 20 20 20 61 33 2c 64 31 | move.l| a3,d1|
|00002e70| 20 0a 20 20 20 20 20 20 | 73 75 62 2e 6c 20 20 20 | . |sub.l |
|00002e80| 20 61 32 2c 64 31 20 0a | 20 20 20 20 20 20 63 6d | a2,d1 .| cm|
|00002e90| 70 69 20 20 20 20 20 23 | 4d 41 58 2c 64 31 20 20 |pi #|MAX,d1 |
|00002ea0| 20 20 20 20 20 20 69 66 | 20 72 75 6e 20 68 61 73 | if| run has|
|00002eb0| 20 72 65 61 63 68 65 64 | 20 4d 41 58 20 0a 20 20 | reached| MAX . |
|00002ec0| 20 20 20 20 62 65 71 2e | 73 20 20 20 20 43 41 53 | beq.|s CAS|
|00002ed0| 36 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 62 |6 | b|
|00002ee0| 72 61 6e 63 68 20 74 6f | 20 63 61 73 65 20 36 20 |ranch to| case 6 |
|00002ef0| 0a 20 20 20 20 20 20 65 | 6e 64 63 20 0a 20 0a 20 |. e|ndc . . |
|00002f00| 20 20 20 20 20 63 6d 70 | 2e 62 20 20 20 20 28 61 | cmp|.b (a|
|00002f10| 33 29 2c 64 33 20 20 20 | 20 20 20 20 20 69 66 20 |3),d3 | if |
|00002f20| 6e 65 78 74 20 63 68 61 | 72 61 63 74 65 72 20 21 |next cha|racter !|
|00002f30| 3d 20 64 33 20 0a 20 20 | 20 20 20 20 62 6e 65 2e |= d3 . | bne.|
|00002f40| 73 20 20 20 20 43 41 53 | 31 20 20 20 20 20 20 20 |s CAS|1 |
|00002f50| 20 20 20 20 20 20 20 62 | 72 61 6e 63 68 20 74 6f | b|ranch to|
|00002f60| 20 63 61 73 65 20 31 20 | 0a 20 0a 2a 20 20 20 20 | case 1 |. .* |
|00002f70| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002f80| 20 20 20 20 20 20 20 20 | 20 65 6c 73 65 20 66 61 | | else fa|
|00002f90| 6c 6c 20 69 6e 74 6f 20 | 63 61 73 65 20 33 20 0a |ll into |case 3 .|
|00002fa0| 20 0a 20 0a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a | . .****|********|
|00002fb0| 2a 2a 2a 20 20 20 20 20 | 43 41 53 45 20 33 3a 20 |*** |CASE 3: |
|00002fc0| 20 20 52 45 50 4c 49 43 | 41 54 45 20 52 55 4e 20 | REPLIC|ATE RUN |
|00002fd0| 0a 43 41 53 33 20 0a 20 | 20 20 20 20 20 6d 6f 76 |.CAS3 . | mov|
|00002fe0| 65 2e 62 20 20 20 28 61 | 33 29 2b 2c 64 33 20 20 |e.b (a|3)+,d3 |
|00002ff0| 20 20 20 20 20 67 72 61 | 62 20 63 68 61 72 61 63 | gra|b charac|
|00003000| 74 65 72 20 0a 20 20 20 | 20 20 20 63 6d 70 61 2e |ter . | cmpa.|
|00003010| 6c 20 20 20 61 33 2c 61 | 31 20 20 20 20 20 20 20 |l a3,a|1 |
|00003020| 20 20 20 69 66 20 69 6e | 70 75 74 20 69 73 20 66 | if in|put is f|
|00003030| 69 6e 69 73 68 65 64 20 | 0a 20 20 20 20 20 20 62 |inished |. b|
|00003040| 65 71 2e 73 20 20 20 20 | 43 41 53 37 20 20 20 20 |eq.s |CAS7 |
|00003050| 20 20 20 20 20 20 20 20 | 20 20 62 72 61 6e 63 68 | | branch|
|00003060| 20 74 6f 20 63 61 73 65 | 20 37 20 0a 20 0a 20 20 | to case| 7 . . |
|00003070| 20 20 20 20 69 66 64 20 | 20 20 20 20 20 43 48 45 | ifd | CHE|
|00003080| 43 4b 20 0a 20 20 20 20 | 20 20 6d 6f 76 65 2e 6c |CK . | move.l|
|00003090| 20 20 20 61 33 2c 64 31 | 20 0a 20 20 20 20 20 20 | a3,d1| . |
|000030a0| 73 75 62 2e 6c 20 20 20 | 20 61 30 2c 64 31 20 0a |sub.l | a0,d1 .|
|000030b0| 20 20 20 20 20 20 63 6d | 70 69 20 20 20 20 20 23 | cm|pi #|
|000030c0| 4d 41 58 2c 64 31 20 20 | 20 20 20 20 20 20 69 66 |MAX,d1 | if|
|000030d0| 20 72 75 6e 20 68 61 73 | 20 72 65 61 63 68 65 64 | run has| reached|
|000030e0| 20 4d 41 58 20 0a 20 20 | 20 20 20 20 62 65 71 2e | MAX . | beq.|
|000030f0| 73 20 20 20 20 43 41 53 | 34 20 20 20 20 20 20 20 |s CAS|4 |
|00003100| 20 20 20 20 20 20 20 62 | 72 61 6e 63 68 20 74 6f | b|ranch to|
|00003110| 20 63 61 73 65 20 34 20 | 0a 20 20 20 20 20 20 65 | case 4 |. e|
|00003120| 6e 64 63 20 0a 20 0a 20 | 20 20 20 20 20 63 6d 70 |ndc . . | cmp|
|00003130| 2e 62 20 20 20 20 28 61 | 33 29 2c 64 33 20 20 20 |.b (a|3),d3 |
|00003140| 20 20 20 20 20 69 66 20 | 6e 65 78 74 20 63 68 61 | if |next cha|
|00003150| 72 61 63 74 65 72 20 3d | 20 64 33 20 0a 20 20 20 |racter =| d3 . |
|00003160| 20 20 20 62 65 71 2e 73 | 20 20 20 20 43 41 53 33 | beq.s| CAS3|
|00003170| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 73 74 | | st|
|00003180| 61 79 20 69 6e 20 63 61 | 73 65 20 33 20 0a 20 0a |ay in ca|se 3 . .|
|00003190| 2a 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |* | |
|000031a0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 65 6c | | el|
|000031b0| 73 65 20 66 61 6c 6c 20 | 69 6e 74 6f 20 63 61 73 |se fall |into cas|
|000031c0| 65 20 34 20 0a 20 0a 20 | 0a 2a 2a 2a 2a 2a 2a 2a |e 4 . . |.*******|
|000031d0| 2a 2a 2a 2a 2a 2a 2a 2a | 20 20 20 20 20 43 41 53 |********| CAS|
|000031e0| 45 20 34 3a 20 20 20 4c | 49 54 20 41 4e 44 2f 4f |E 4: L|IT AND/O|
|000031f0| 52 20 52 45 50 20 44 55 | 4d 50 20 26 20 43 4f 4e |R REP DU|MP & CON|
|00003200| 54 49 4e 55 45 20 0a 43 | 41 53 34 20 0a 20 20 20 |TINUE .C|AS4 . |
|00003210| 20 20 20 6d 6f 76 65 2e | 6c 20 20 20 61 30 2c 64 | move.|l a0,d|
|00003220| 32 20 0a 20 20 20 20 20 | 20 73 75 62 2e 6c 20 20 |2 . | sub.l |
|00003230| 20 20 61 32 2c 64 32 20 | 20 20 20 20 20 20 20 20 | a2,d2 | |
|00003240| 20 64 32 20 3d 20 61 30 | 20 2d 20 61 32 20 0a 2a | d2 = a0| - a2 .*|
|00003250| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00003260| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 69 66 20 | | if |
|00003270| 6e 6f 20 6c 69 74 65 72 | 61 6c 20 72 75 6e 20 0a |no liter|al run .|
|00003280| 20 20 20 20 20 20 62 65 | 71 2e 73 20 20 20 20 43 | be|q.s C|
|00003290| 34 31 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |41 | |
|000032a0| 20 62 72 61 6e 63 68 20 | 74 6f 20 72 65 70 6c 69 | branch |to repli|
|000032b0| 63 61 74 65 20 72 75 6e | 20 0a 20 0a 20 20 20 20 |cate run| . . |
|000032c0| 20 20 73 75 62 71 20 20 | 20 20 20 23 31 2c 64 32 | subq | #1,d2|
|000032d0| 20 20 20 20 20 20 20 20 | 20 20 64 32 20 3d 20 64 | | d2 = d|
|000032e0| 32 20 2d 20 31 20 0a 20 | 20 20 20 20 20 6d 6f 76 |2 - 1 . | mov|
|000032f0| 65 2e 62 20 20 20 64 32 | 2c 28 61 34 29 2b 20 20 |e.b d2|,(a4)+ |
|00003300| 20 20 20 20 20 6f 75 74 | 70 75 74 20 6c 69 74 65 | out|put lite|
|00003310| 72 61 6c 20 63 6f 6e 74 | 72 6f 6c 20 62 79 74 65 |ral cont|rol byte|
|00003320| 20 0a 20 0a 43 34 30 20 | 20 20 6d 6f 76 65 2e 62 | . .C40 | move.b|
|00003330| 20 20 20 28 61 32 29 2b | 2c 28 61 34 29 2b 20 20 | (a2)+|,(a4)+ |
|00003340| 20 20 6f 75 74 70 75 74 | 20 6c 69 74 65 72 61 6c | output| literal|
|00003350| 20 72 75 6e 20 0a 20 20 | 20 20 20 20 64 62 72 61 | run . | dbra|
|00003360| 20 20 20 20 20 64 32 2c | 43 34 30 20 0a 20 0a 43 | d2,|C40 . .C|
|00003370| 34 31 20 20 20 6d 6f 76 | 65 2e 6c 20 20 20 61 30 |41 mov|e.l a0|
|00003380| 2c 64 32 20 0a 20 20 20 | 20 20 20 73 75 62 2e 6c |,d2 . | sub.l|
|00003390| 20 20 20 20 61 33 2c 64 | 32 20 20 20 20 20 20 20 | a3,d|2 |
|000033a0| 20 20 20 64 32 20 3d 20 | 61 30 20 2d 20 61 33 20 | d2 = |a0 - a3 |
|000033b0| 28 6e 65 67 61 74 69 76 | 65 20 72 65 73 75 6c 74 |(negativ|e result|
|000033c0| 21 29 20 0a 20 20 20 20 | 20 20 61 64 64 71 20 20 |!) . | addq |
|000033d0| 20 20 20 23 31 2c 64 32 | 20 20 20 20 20 20 20 20 | #1,d2| |
|000033e0| 20 20 64 32 20 3d 20 64 | 32 20 2b 20 31 20 0a 20 | d2 = d|2 + 1 . |
|000033f0| 20 20 20 20 20 6d 6f 76 | 65 2e 62 20 20 20 64 32 | mov|e.b d2|
|00003400| 2c 28 61 34 29 2b 20 20 | 20 20 20 20 20 6f 75 74 |,(a4)+ | out|
|00003410| 70 75 74 20 72 65 70 6c | 69 63 61 74 65 20 63 6f |put repl|icate co|
|00003420| 6e 74 72 6f 6c 20 62 79 | 74 65 20 0a 20 20 20 20 |ntrol by|te . |
|00003430| 20 20 6d 6f 76 65 2e 62 | 20 20 20 64 33 2c 28 61 | move.b| d3,(a|
|00003440| 34 29 2b 20 20 20 20 20 | 20 20 6f 75 74 70 75 74 |4)+ | output|
|00003450| 20 72 65 70 65 61 74 65 | 64 20 63 68 61 72 61 63 | repeate|d charac|
|00003460| 74 65 72 20 0a 20 20 20 | 20 20 20 6d 6f 76 65 61 |ter . | movea|
|00003470| 2e 6c 20 20 61 33 2c 61 | 32 20 20 20 20 20 20 20 |.l a3,a|2 |
|00003480| 20 20 20 72 65 73 65 74 | 20 61 32 20 0a 20 20 20 | reset| a2 . |
|00003490| 20 20 20 62 72 61 2e 73 | 20 20 20 20 43 41 53 31 | bra.s| CAS1|
|000034a0| 20 20 20 20 20 20 20 20 | 20 20 20 62 72 61 6e 63 | | branc|
|000034b0| 68 20 74 6f 20 63 61 73 | 65 20 31 20 28 6e 6f 74 |h to cas|e 1 (not|
|000034c0| 20 64 6f 6e 65 29 20 0a | 20 0a 20 0a 2a 2a 2a 2a | done) .| . .****|
|000034d0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 20 20 20 20 20 |********|*** |
|000034e0| 43 41 53 45 20 35 3a 20 | 20 20 4c 49 54 45 52 41 |CASE 5: | LITERA|
|000034f0| 4c 20 44 55 4d 50 20 26 | 20 51 55 49 54 20 0a 43 |L DUMP &| QUIT .C|
|00003500| 41 53 35 20 0a 20 20 20 | 20 20 20 6d 6f 76 65 2e |AS5 . | move.|
|00003510| 6c 20 20 20 61 33 2c 64 | 32 20 0a 20 20 20 20 20 |l a3,d|2 . |
|00003520| 20 73 75 62 2e 6c 20 20 | 20 20 61 32 2c 64 32 20 | sub.l | a2,d2 |
|00003530| 20 20 20 20 20 20 20 20 | 20 64 32 20 3d 20 61 33 | | d2 = a3|
|00003540| 20 2d 20 61 32 20 28 70 | 6f 73 69 74 69 76 65 20 | - a2 (p|ositive |
|00003550| 72 65 73 75 6c 74 20 3e | 20 30 29 20 0a 20 20 20 |result >| 0) . |
|00003560| 20 20 20 73 75 62 71 20 | 20 20 20 20 23 31 2c 64 | subq | #1,d|
|00003570| 32 20 20 20 20 20 20 20 | 20 20 20 64 32 20 3d 20 |2 | d2 = |
|00003580| 64 32 20 2d 20 31 20 0a | 20 20 20 20 20 20 6d 6f |d2 - 1 .| mo|
|00003590| 76 65 2e 62 20 20 20 64 | 32 2c 28 61 34 29 2b 20 |ve.b d|2,(a4)+ |
|000035a0| 20 20 20 20 20 20 6f 75 | 74 70 75 74 20 6c 69 74 | ou|tput lit|
|000035b0| 65 72 61 6c 20 63 6f 6e | 74 72 6f 6c 20 62 79 74 |eral con|trol byt|
|000035c0| 65 20 0a 20 0a 43 35 30 | 20 20 20 6d 6f 76 65 2e |e . .C50| move.|
|000035d0| 62 20 20 20 28 61 32 29 | 2b 2c 28 61 34 29 2b 20 |b (a2)|+,(a4)+ |
|000035e0| 20 20 20 6f 75 74 70 75 | 74 20 6c 69 74 65 72 61 | outpu|t litera|
|000035f0| 6c 20 72 75 6e 20 0a 20 | 20 20 20 20 20 64 62 72 |l run . | dbr|
|00003600| 61 20 20 20 20 20 64 32 | 2c 43 35 30 20 0a 20 0a |a d2|,C50 . .|
|00003610| 20 20 20 20 20 20 62 72 | 61 2e 73 20 20 20 20 43 | br|a.s C|
|00003620| 41 53 38 20 20 20 20 20 | 20 20 20 20 20 20 62 72 |AS8 | br|
|00003630| 61 6e 63 68 20 74 6f 20 | 63 61 73 65 20 38 20 28 |anch to |case 8 (|
|00003640| 64 6f 6e 65 29 20 0a 20 | 0a 20 0a 20 20 20 20 20 |done) . |. . |
|00003650| 20 69 66 64 20 20 20 20 | 20 20 43 48 45 43 4b 20 | ifd | CHECK |
|00003660| 0a 20 0a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |. .*****|********|
|00003670| 2a 2a 20 20 20 20 20 43 | 41 53 45 20 36 3a 20 20 |** C|ASE 6: |
|00003680| 20 4c 49 54 45 52 41 4c | 20 44 55 4d 50 20 26 20 | LITERAL| DUMP & |
|00003690| 43 4f 4e 54 49 4e 55 45 | 20 0a 43 41 53 36 20 0a |CONTINUE| .CAS6 .|
|000036a0| 20 20 20 20 20 20 6d 6f | 76 65 2e 6c 20 20 20 61 | mo|ve.l a|
|000036b0| 33 2c 64 32 20 0a 20 20 | 20 20 20 20 73 75 62 2e |3,d2 . | sub.|
|000036c0| 6c 20 20 20 20 61 32 2c | 64 32 20 20 20 20 20 20 |l a2,|d2 |
|000036d0| 20 20 20 20 64 32 20 3d | 20 61 33 20 2d 20 61 32 | d2 =| a3 - a2|
|000036e0| 20 28 70 6f 73 69 74 69 | 76 65 20 72 65 73 75 6c | (positi|ve resul|
|000036f0| 74 20 3e 20 30 29 20 0a | 20 20 20 20 20 20 73 75 |t > 0) .| su|
|00003700| 62 71 20 20 20 20 20 23 | 31 2c 64 32 20 20 20 20 |bq #|1,d2 |
|00003710| 20 20 20 20 20 20 64 32 | 20 3d 20 64 32 20 2d 20 | d2| = d2 - |
|00003720| 31 20 0a 20 20 20 20 20 | 20 6d 6f 76 65 2e 62 20 |1 . | move.b |
|00003730| 20 20 64 32 2c 28 61 34 | 29 2b 20 20 20 20 20 20 | d2,(a4|)+ |
|00003740| 20 6f 75 74 70 75 74 20 | 6c 69 74 65 72 61 6c 20 | output |literal |
|00003750| 63 6f 6e 74 72 6f 6c 20 | 62 79 74 65 20 0a 20 0a |control |byte . .|
|00003760| 43 36 30 20 20 20 6d 6f | 76 65 2e 62 20 20 20 28 |C60 mo|ve.b (|
|00003770| 61 32 29 2b 2c 28 61 34 | 29 2b 20 20 20 20 6f 75 |a2)+,(a4|)+ ou|
|00003780| 74 70 75 74 20 6c 69 74 | 65 72 61 6c 20 72 75 6e |tput lit|eral run|
|00003790| 20 0a 20 20 20 20 20 20 | 64 62 72 61 20 20 20 20 | . |dbra |
|000037a0| 20 64 32 2c 43 36 30 20 | 0a 20 0a 20 20 20 20 20 | d2,C60 |. . |
|000037b0| 20 62 72 61 20 20 20 20 | 20 20 43 41 53 31 20 20 | bra | CAS1 |
|000037c0| 20 20 20 20 20 20 20 20 | 20 62 72 61 6e 63 68 20 | | branch |
|000037d0| 74 6f 20 63 61 73 65 20 | 31 20 28 6e 6f 74 20 64 |to case |1 (not d|
|000037e0| 6f 6e 65 29 20 0a 20 0a | 20 20 20 20 20 20 65 6e |one) . .| en|
|000037f0| 64 63 20 0a 20 0a 20 0a | 2a 2a 2a 2a 2a 2a 2a 2a |dc . . .|********|
|00003800| 2a 2a 2a 2a 2a 2a 2a 20 | 20 20 20 20 43 41 53 45 |******* | CASE|
|00003810| 20 37 3a 20 20 20 4c 49 | 54 20 41 4e 44 2f 4f 52 | 7: LI|T AND/OR|
|00003820| 20 52 45 50 20 44 55 4d | 50 20 26 20 46 49 4e 49 | REP DUM|P & FINI|
|00003830| 53 48 20 0a 43 41 53 37 | 20 0a 20 20 20 20 20 20 |SH .CAS7| . |
|00003840| 6d 6f 76 65 2e 6c 20 20 | 20 61 30 2c 64 32 20 0a |move.l | a0,d2 .|
|00003850| 20 20 20 20 20 20 73 75 | 62 2e 6c 20 20 20 20 61 | su|b.l a|
|00003860| 32 2c 64 32 20 20 20 20 | 20 20 20 20 20 20 64 32 |2,d2 | d2|
|00003870| 20 3d 20 61 30 20 2d 20 | 61 32 20 28 70 6f 73 69 | = a0 - |a2 (posi|
|00003880| 74 69 76 65 20 72 65 73 | 75 6c 74 20 3e 20 30 29 |tive res|ult > 0)|
|00003890| 20 0a 2a 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | .* | |
|000038a0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000038b0| 69 66 20 6e 6f 20 6c 69 | 74 65 72 61 6c 20 72 75 |if no li|teral ru|
|000038c0| 6e 20 0a 20 20 20 20 20 | 20 62 65 71 2e 73 20 20 |n . | beq.s |
|000038d0| 20 20 43 37 31 20 20 20 | 20 20 20 20 20 20 20 20 | C71 | |
|000038e0| 20 20 20 20 62 72 61 6e | 63 68 20 74 6f 20 72 65 | bran|ch to re|
|000038f0| 70 6c 69 63 61 74 65 20 | 72 75 6e 20 0a 20 0a 20 |plicate |run . . |
|00003900| 20 20 20 20 20 73 75 62 | 71 20 20 20 20 20 23 31 | sub|q #1|
|00003910| 2c 64 32 20 20 20 20 20 | 20 20 20 20 20 64 32 20 |,d2 | d2 |
|00003920| 3d 20 64 32 20 2d 20 31 | 20 0a 20 20 20 20 20 20 |= d2 - 1| . |
|00003930| 6d 6f 76 65 2e 62 20 20 | 20 64 32 2c 28 61 34 29 |move.b | d2,(a4)|
|00003940| 2b 20 20 20 20 20 20 20 | 6f 75 74 70 75 74 20 6c |+ |output l|
|00003950| 69 74 65 72 61 6c 20 63 | 6f 6e 74 72 6f 6c 20 62 |iteral c|ontrol b|
|00003960| 79 74 65 20 0a 20 0a 43 | 37 30 20 20 20 6d 6f 76 |yte . .C|70 mov|
|00003970| 65 2e 62 20 20 20 28 61 | 32 29 2b 2c 28 61 34 29 |e.b (a|2)+,(a4)|
|00003980| 2b 20 20 20 20 6f 75 74 | 70 75 74 20 6c 69 74 65 |+ out|put lite|
|00003990| 72 61 6c 20 72 75 6e 20 | 0a 20 20 20 20 20 20 64 |ral run |. d|
|000039a0| 62 72 61 20 20 20 20 20 | 64 32 2c 43 37 30 20 0a |bra |d2,C70 .|
|000039b0| 20 0a 43 37 31 20 20 20 | 6d 6f 76 65 2e 6c 20 20 | .C71 |move.l |
|000039c0| 20 61 30 2c 64 32 20 0a | 20 20 20 20 20 20 73 75 | a0,d2 .| su|
|000039d0| 62 2e 6c 20 20 20 20 61 | 33 2c 64 32 20 20 20 20 |b.l a|3,d2 |
|000039e0| 20 20 20 20 20 20 64 32 | 20 3d 20 61 30 20 2d 20 | d2| = a0 - |
|000039f0| 61 33 20 28 6e 65 67 61 | 74 69 76 65 20 72 65 73 |a3 (nega|tive res|
|00003a00| 75 6c 74 29 20 0a 20 20 | 20 20 20 20 61 64 64 71 |ult) . | addq|
|00003a10| 20 20 20 20 20 23 31 2c | 64 32 20 20 20 20 20 20 | #1,|d2 |
|00003a20| 20 20 20 20 64 32 20 3d | 20 64 32 20 2b 20 31 20 | d2 =| d2 + 1 |
|00003a30| 0a 20 20 20 20 20 20 6d | 6f 76 65 2e 62 20 20 20 |. m|ove.b |
|00003a40| 64 32 2c 28 61 34 29 2b | 20 20 20 20 20 20 20 6f |d2,(a4)+| o|
|00003a50| 75 74 70 75 74 20 72 65 | 70 6c 69 63 61 74 65 20 |utput re|plicate |
|00003a60| 63 6f 6e 74 72 6f 6c 20 | 62 79 74 65 20 0a 20 20 |control |byte . |
|00003a70| 20 20 20 20 6d 6f 76 65 | 2e 62 20 20 20 64 33 2c | move|.b d3,|
|00003a80| 28 61 34 29 2b 20 20 20 | 20 20 20 20 6f 75 74 70 |(a4)+ | outp|
|00003a90| 75 74 20 72 65 70 65 61 | 74 65 64 20 63 68 61 72 |ut repea|ted char|
|00003aa0| 61 63 74 65 72 20 0a 20 | 0a 2a 20 20 20 20 20 20 |acter . |.* |
|00003ab0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00003ac0| 20 20 20 20 20 20 20 66 | 61 6c 6c 20 69 6e 74 6f | f|all into|
|00003ad0| 20 63 61 73 65 20 38 20 | 0a 20 0a 20 0a 2a 2a 2a | case 8 |. . .***|
|00003ae0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 20 20 20 20 |********|**** |
|00003af0| 20 43 41 53 45 20 38 3a | 20 20 20 41 44 4a 55 53 | CASE 8:| ADJUS|
|00003b00| 54 20 50 41 52 41 4d 53 | 20 26 20 52 45 54 55 52 |T PARAMS| & RETUR|
|00003b10| 4e 20 56 41 4c 55 45 20 | 0a 43 41 53 38 20 0a 20 |N VALUE |.CAS8 . |
|00003b20| 20 20 20 20 20 6d 6f 76 | 65 61 2e 6c 20 20 46 52 | mov|ea.l FR|
|00003b30| 4d 28 61 35 29 2c 61 30 | 20 20 20 20 20 61 30 20 |M(a5),a0| a0 |
|00003b40| 3d 20 2a 2a 66 72 6f 6d | 20 0a 20 20 20 20 20 20 |= **from| . |
|00003b50| 6d 6f 76 65 2e 6c 20 20 | 20 61 33 2c 28 61 30 29 |move.l | a3,(a0)|
|00003b60| 20 20 20 20 20 20 20 20 | 2a 66 72 6f 6d 20 3d 20 | |*from = |
|00003b70| 2a 66 72 6f 6d 20 2b 20 | 61 6d 74 20 0a 20 20 20 |*from + |amt . |
|00003b80| 20 20 20 6d 6f 76 65 61 | 2e 6c 20 20 54 4f 4f 28 | movea|.l TOO(|
|00003b90| 61 35 29 2c 61 30 20 20 | 20 20 20 61 30 20 3d 20 |a5),a0 | a0 = |
|00003ba0| 2a 2a 74 6f 6f 20 0a 20 | 0a 20 20 20 20 20 20 6d |**too . |. m|
|00003bb0| 6f 76 65 2e 6c 20 20 20 | 61 34 2c 64 30 20 0a 20 |ove.l |a4,d0 . |
|00003bc0| 20 20 20 20 20 73 75 62 | 2e 6c 20 20 20 20 28 61 | sub|.l (a|
|00003bd0| 30 29 2c 64 30 20 20 20 | 20 20 20 20 72 65 74 75 |0),d0 | retu|
|00003be0| 72 6e 20 3d 20 61 34 20 | 2d 20 2a 74 6f 6f 20 20 |rn = a4 |- *too |
|00003bf0| 0a 20 0a 20 20 20 20 20 | 20 6d 6f 76 65 2e 6c 20 |. . | move.l |
|00003c00| 20 20 61 34 2c 28 61 30 | 29 20 20 20 20 20 20 20 | a4,(a0|) |
|00003c10| 2a 74 6f 6f 20 3d 20 2a | 74 6f 6f 20 2b 20 72 65 |*too = *|too + re|
|00003c20| 74 75 72 6e 20 0a 20 20 | 20 20 20 20 6d 6f 76 65 |turn . | move|
|00003c30| 6d 2e 6c 20 20 28 61 37 | 29 2b 2c 64 32 2f 64 33 |m.l (a7|)+,d2/d3|
|00003c40| 2f 61 32 2f 61 33 2f 61 | 34 20 0a 20 20 20 20 20 |/a2/a3/a|4 . |
|00003c50| 20 55 4e 4c 4b 20 20 20 | 20 20 61 35 20 0a 20 20 | UNLK | a5 . |
|00003c60| 20 20 20 20 72 74 73 20 | 0a 20 0a 20 20 20 20 20 | rts |. . |
|00003c70| 20 65 6e 64 0a 0a 0a 1c | 96 2d 6c 68 30 2d c6 22 | end....|.-lh0-."|
|00003c80| 00 00 c6 22 00 00 f0 a9 | 5e 1d 00 00 06 41 72 67 |..."....|^....Arg|
|00003c90| 73 2e 63 b4 7c 2f 2f 20 | 54 53 4d 6f 72 70 68 20 |s.c.|// |TSMorph |
|00003ca0| 2d 20 41 6d 69 67 61 20 | 4d 6f 72 70 68 69 6e 67 |- Amiga |Morphing|
|00003cb0| 20 70 72 6f 67 72 61 6d | 0a 2f 2f 20 43 6f 70 79 | program|.// Copy|
|00003cc0| 72 69 67 68 74 20 28 43 | 29 20 a9 20 31 39 39 33 |right (C|) . 1993|
|00003cd0| 20 20 54 6f 70 69 63 73 | 61 76 65 20 4c 69 6d 69 | Topics|ave Limi|
|00003ce0| 74 65 64 0a 0a 2f 2f 20 | 54 68 69 73 20 70 72 6f |ted..// |This pro|
|00003cf0| 67 72 61 6d 20 69 73 20 | 66 72 65 65 20 73 6f 66 |gram is |free sof|
|00003d00| 74 77 61 72 65 3b 20 79 | 6f 75 20 63 61 6e 20 72 |tware; y|ou can r|
|00003d10| 65 64 69 73 74 72 69 62 | 75 74 65 20 69 74 20 61 |edistrib|ute it a|
|00003d20| 6e 64 2f 6f 72 20 6d 6f | 64 69 66 79 0a 2f 2f 20 |nd/or mo|dify.// |
|00003d30| 69 74 20 75 6e 64 65 72 | 20 74 68 65 20 74 65 72 |it under| the ter|
|00003d40| 6d 73 20 6f 66 20 74 68 | 65 20 47 4e 55 20 47 65 |ms of th|e GNU Ge|
|00003d50| 6e 65 72 61 6c 20 50 75 | 62 6c 69 63 20 4c 69 63 |neral Pu|blic Lic|
|00003d60| 65 6e 73 65 20 61 73 20 | 70 75 62 6c 69 73 68 65 |ense as |publishe|
|00003d70| 64 20 62 79 0a 2f 2f 20 | 74 68 65 20 46 72 65 65 |d by.// |the Free|
|00003d80| 20 53 6f 66 74 77 61 72 | 65 20 46 6f 75 6e 64 61 | Softwar|e Founda|
|00003d90| 74 69 6f 6e 3b 20 65 69 | 74 68 65 72 20 76 65 72 |tion; ei|ther ver|
|00003da0| 73 69 6f 6e 20 32 20 6f | 66 20 74 68 65 20 4c 69 |sion 2 o|f the Li|
|00003db0| 63 65 6e 73 65 2c 20 6f | 72 0a 2f 2f 20 61 6e 79 |cense, o|r.// any|
|00003dc0| 20 6c 61 74 65 72 20 76 | 65 72 73 69 6f 6e 2e 0a | later v|ersion..|
|00003dd0| 0a 2f 2f 20 54 68 69 73 | 20 70 72 6f 67 72 61 6d |.// This| program|
|00003de0| 20 69 73 20 64 69 73 74 | 72 69 62 75 74 65 64 20 | is dist|ributed |
|00003df0| 69 6e 20 74 68 65 20 68 | 6f 70 65 20 74 68 61 74 |in the h|ope that|
|00003e00| 20 69 74 20 77 69 6c 6c | 20 62 65 20 75 73 65 66 | it will| be usef|
|00003e10| 75 6c 2c 0a 2f 2f 20 62 | 75 74 20 57 49 54 48 4f |ul,.// b|ut WITHO|
|00003e20| 55 54 20 41 4e 59 20 57 | 41 52 52 41 4e 54 59 3b |UT ANY W|ARRANTY;|
|00003e30| 20 77 69 74 68 6f 75 74 | 20 65 76 65 6e 20 74 68 | without| even th|
|00003e40| 65 20 69 6d 70 6c 69 65 | 64 20 77 61 72 72 61 6e |e implie|d warran|
|00003e50| 74 79 20 6f 66 0a 2f 2f | 20 4d 45 52 43 48 41 4e |ty of.//| MERCHAN|
|00003e60| 54 41 42 49 4c 49 54 59 | 20 6f 72 20 46 49 54 4e |TABILITY| or FITN|
|00003e70| 45 53 53 20 46 4f 52 20 | 41 20 50 41 52 54 49 43 |ESS FOR |A PARTIC|
|00003e80| 55 4c 41 52 20 50 55 52 | 50 4f 53 45 2e 20 20 53 |ULAR PUR|POSE. S|
|00003e90| 65 65 20 74 68 65 0a 2f | 2f 20 47 4e 55 20 47 65 |ee the./|/ GNU Ge|
|00003ea0| 6e 65 72 61 6c 20 50 75 | 62 6c 69 63 20 4c 69 63 |neral Pu|blic Lic|
|00003eb0| 65 6e 73 65 20 66 6f 72 | 20 6d 6f 72 65 20 64 65 |ense for| more de|
|00003ec0| 74 61 69 6c 73 2e 0a 0a | 2f 2f 20 59 6f 75 20 73 |tails...|// You s|
|00003ed0| 68 6f 75 6c 64 20 68 61 | 76 65 20 72 65 63 65 69 |hould ha|ve recei|
|00003ee0| 76 65 64 20 61 20 63 6f | 70 79 20 6f 66 20 74 68 |ved a co|py of th|
|00003ef0| 65 20 47 4e 55 20 47 65 | 6e 65 72 61 6c 20 50 75 |e GNU Ge|neral Pu|
|00003f00| 62 6c 69 63 20 4c 69 63 | 65 6e 73 65 0a 2f 2f 20 |blic Lic|ense.// |
|00003f10| 61 6c 6f 6e 67 20 77 69 | 74 68 20 74 68 69 73 20 |along wi|th this |
|00003f20| 70 72 6f 67 72 61 6d 3b | 20 69 66 20 6e 6f 74 2c |program;| if not,|
|00003f30| 20 77 72 69 74 65 20 74 | 6f 20 74 68 65 20 46 72 | write t|o the Fr|
|00003f40| 65 65 20 53 6f 66 74 77 | 61 72 65 0a 2f 2f 20 46 |ee Softw|are.// F|
|00003f50| 6f 75 6e 64 61 74 69 6f | 6e 2c 20 49 6e 63 2e 2c |oundatio|n, Inc.,|
|00003f60| 20 36 37 35 20 4d 61 73 | 73 20 41 76 65 2c 20 43 | 675 Mas|s Ave, C|
|00003f70| 61 6d 62 72 69 64 67 65 | 2c 20 4d 41 20 30 32 31 |ambridge|, MA 021|
|00003f80| 33 39 2c 20 55 53 41 2e | 0a 0a 2f 2f 20 6d 70 61 |39, USA.|..// mpa|
|00003f90| 64 64 6f 63 6b 40 63 69 | 78 2e 63 6f 6d 70 75 6c |ddock@ci|x.compul|
|00003fa0| 69 6e 6b 2e 63 6f 2e 75 | 6b 0a 0a 2f 2a 20 54 68 |ink.co.u|k../* Th|
|00003fb0| 69 73 20 6f 62 6a 65 63 | 74 20 69 73 20 69 6e 63 |is objec|t is inc|
|00003fc0| 6c 75 64 65 64 20 69 6e | 20 62 6f 74 68 20 54 53 |luded in| both TS|
|00003fd0| 4d 6f 72 70 68 20 61 6e | 64 20 54 53 4d 6f 72 70 |Morph an|d TSMorp|
|00003fe0| 68 2d 72 65 6e 64 65 72 | 0a 20 2a 20 69 74 20 69 |h-render|. * it i|
|00003ff0| 6e 63 6c 75 64 65 73 20 | 61 6c 6c 20 74 68 65 20 |ncludes |all the |
|00004000| 73 74 75 66 66 20 66 6f | 72 20 64 65 74 65 72 6d |stuff fo|r determ|
|00004010| 69 6e 67 20 61 72 67 75 | 6d 65 6e 74 73 0a 20 2a |ing argu|ments. *|
|00004020| 20 69 6e 63 6c 75 64 69 | 6e 67 20 73 65 74 74 69 | includi|ng setti|
|00004030| 6e 67 73 20 66 69 6c 65 | 20 73 74 75 66 66 0a 20 |ngs file| stuff. |
|00004040| 2a 2f 0a 0a 2f 2f 20 69 | 6e 63 6c 75 64 65 20 68 |*/..// i|nclude h|
|00004050| 65 61 64 65 72 73 20 73 | 69 6e 63 65 20 64 6f 65 |eaders s|ince doe|
|00004060| 73 20 6e 6f 74 20 69 6e | 63 6c 75 64 65 20 70 72 |s not in|clude pr|
|00004070| 65 63 6f 6d 70 69 6c 65 | 64 20 68 65 61 64 65 72 |ecompile|d header|
|00004080| 73 0a 23 69 6e 63 6c 75 | 64 65 20 3c 77 6f 72 6b |s.#inclu|de <work|
|00004090| 62 65 6e 63 68 2f 77 6f | 72 6b 62 65 6e 63 68 2e |bench/wo|rkbench.|
|000040a0| 68 3e 0a 23 69 6e 63 6c | 75 64 65 20 3c 77 6f 72 |h>.#incl|ude <wor|
|000040b0| 6b 62 65 6e 63 68 2f 73 | 74 61 72 74 75 70 2e 68 |kbench/s|tartup.h|
|000040c0| 3e 0a 23 69 6e 63 6c 75 | 64 65 20 3c 70 72 6f 74 |>.#inclu|de <prot|
|000040d0| 6f 2f 69 63 6f 6e 2e 68 | 3e 0a 23 69 6e 63 6c 75 |o/icon.h|>.#inclu|
|000040e0| 64 65 20 3c 70 72 6f 74 | 6f 2f 64 6f 73 2e 68 3e |de <prot|o/dos.h>|
|000040f0| 0a 23 69 6e 63 6c 75 64 | 65 20 3c 70 72 6f 74 6f |.#includ|e <proto|
|00004100| 2f 65 78 65 63 2e 68 3e | 0a 23 69 6e 63 6c 75 64 |/exec.h>|.#includ|
|00004110| 65 20 3c 65 78 65 63 2f | 6d 65 6d 6f 72 79 2e 68 |e <exec/|memory.h|
|00004120| 3e 0a 23 69 6e 63 6c 75 | 64 65 20 3c 73 74 64 64 |>.#inclu|de <stdd|
|00004130| 65 66 2e 68 3e 0a 23 69 | 6e 63 6c 75 64 65 20 3c |ef.h>.#i|nclude <|
|00004140| 73 74 72 69 6e 67 2e 68 | 3e 0a 0a 2f 2f 20 54 68 |string.h|>..// Th|
|00004150| 65 20 70 72 6f 67 72 61 | 6d 20 69 63 6f 6e 20 66 |e progra|m icon f|
|00004160| 6f 72 20 73 65 74 74 69 | 6e 67 73 0a 73 74 72 75 |or setti|ngs.stru|
|00004170| 63 74 20 44 69 73 6b 4f | 62 6a 65 63 74 20 2a 70 |ct DiskO|bject *p|
|00004180| 72 6f 67 72 61 6d 5f 69 | 63 6f 6e 20 3d 20 4e 55 |rogram_i|con = NU|
|00004190| 4c 4c 3b 0a 0a 2f 2a 20 | 4d 79 20 76 65 72 73 69 |LL;../* |My versi|
|000041a0| 6f 6e 20 6f 66 20 41 72 | 67 41 72 72 61 79 44 6f |on of Ar|gArrayDo|
|000041b0| 6e 65 0a 20 2a 20 64 6f | 65 73 20 6e 6f 74 20 75 |ne. * do|es not u|
|000041c0| 73 65 20 63 78 5f 6c 69 | 62 20 76 65 72 73 69 6f |se cx_li|b versio|
|000041d0| 6e 20 61 73 20 77 6f 75 | 6c 64 20 68 61 76 65 20 |n as wou|ld have |
|000041e0| 74 6f 20 6f 70 65 6e 20 | 63 6f 6d 6d 6f 64 69 74 |to open |commodit|
|000041f0| 69 65 73 2e 6c 69 62 72 | 61 72 79 0a 20 2a 20 66 |ies.libr|ary. * f|
|00004200| 72 65 65 73 20 65 76 65 | 72 79 74 68 69 6e 67 20 |rees eve|rything |
|00004210| 61 6c 6c 6f 63 61 74 65 | 64 20 62 79 20 61 72 67 |allocate|d by arg|
|00004220| 41 72 72 61 79 49 6e 69 | 74 0a 20 2a 2f 0a 76 6f |ArrayIni|t. */.vo|
|00004230| 69 64 0a 61 72 67 41 72 | 72 61 79 44 6f 6e 65 28 |id.argAr|rayDone(|
|00004240| 20 76 6f 69 64 20 29 20 | 7b 0a 09 69 66 20 28 70 | void ) |{..if (p|
|00004250| 72 6f 67 72 61 6d 5f 69 | 63 6f 6e 29 20 7b 0a 09 |rogram_i|con) {..|
|00004260| 09 46 72 65 65 44 69 73 | 6b 4f 62 6a 65 63 74 28 |.FreeDis|kObject(|
|00004270| 70 72 6f 67 72 61 6d 5f | 69 63 6f 6e 29 3b 0a 09 |program_|icon);..|
|00004280| 7d 0a 7d 0a 0a 2f 2a 20 | 6d 79 20 76 65 72 73 69 |}.}../* |my versi|
|00004290| 6f 6e 20 66 6f 72 20 41 | 72 67 41 72 72 61 79 49 |on for A|rgArrayI|
|000042a0| 6e 69 74 0a 20 2a 20 72 | 65 74 75 72 6e 73 20 20 |nit. * r|eturns |
|000042b0| 20 3a 20 70 6f 69 6e 74 | 65 72 20 74 6f 20 74 68 | : point|er to th|
|000042c0| 65 20 70 61 72 61 6d 65 | 74 65 72 73 20 6f 72 20 |e parame|ters or |
|000042d0| 70 72 6f 67 72 61 6d 20 | 74 6f 6f 6c 20 74 79 70 |program |tool typ|
|000042e0| 65 73 0a 20 2a 20 70 61 | 72 61 6d 65 74 65 72 73 |es. * pa|rameters|
|000042f0| 3a 20 61 72 67 63 0a 20 | 2a 20 20 20 20 20 20 20 |: argc. |* |
|00004300| 20 20 20 20 20 20 61 72 | 67 76 20 2d 20 73 74 61 | ar|gv - sta|
|00004310| 6e 64 61 72 64 20 6d 61 | 69 6e 28 29 20 61 72 67 |ndard ma|in() arg|
|00004320| 75 6d 65 6e 74 73 0a 20 | 2a 2f 0a 63 68 61 72 20 |uments. |*/.char |
|00004330| 2a 2a 0a 61 72 67 41 72 | 72 61 79 49 6e 69 74 28 |**.argAr|rayInit(|
|00004340| 20 4c 4f 4e 47 20 61 72 | 67 63 2c 20 63 68 61 72 | LONG ar|gc, char|
|00004350| 20 2a 2a 61 72 67 76 20 | 29 20 7b 0a 09 69 66 20 | **argv |) {..if |
|00004360| 28 61 72 67 63 29 20 7b | 09 09 09 09 2f 2f 20 66 |(argc) {|....// f|
|00004370| 72 6f 6d 20 74 68 65 20 | 73 68 65 6c 6c 0a 09 09 |rom the |shell...|
|00004380| 61 72 67 76 5b 61 72 67 | 63 5d 20 3d 20 30 3b 09 |argv[arg|c] = 0;.|
|00004390| 2f 2f 20 48 41 43 4b 21 | 21 21 21 21 0a 09 09 72 |// HACK!|!!!!...r|
|000043a0| 65 74 75 72 6e 20 61 72 | 67 76 3b 09 09 2f 2f 20 |eturn ar|gv;..// |
|000043b0| 54 68 65 20 61 62 6f 76 | 65 20 69 73 20 72 65 71 |The abov|e is req|
|000043c0| 75 69 72 65 64 20 74 6f | 20 70 72 65 76 65 6e 74 |uired to| prevent|
|000043d0| 20 74 68 65 20 66 6f 6c | 6c 6f 77 69 6e 67 20 63 | the fol|lowing c|
|000043e0| 6f 64 65 0a 09 7d 09 09 | 09 09 09 09 09 2f 2f 20 |ode..}..|.....// |
|000043f0| 66 61 6c 6c 69 6e 67 20 | 6f 66 66 20 74 68 65 20 |falling |off the |
|00004400| 65 6e 64 2e 20 4e 6f 74 | 20 73 75 72 65 20 68 6f |end. Not| sure ho|
|00004410| 77 20 73 61 66 65 20 74 | 68 69 73 20 69 73 21 21 |w safe t|his is!!|
|00004420| 21 0a 09 65 6c 73 65 20 | 7b 0a 09 09 73 74 72 75 |!..else |{...stru|
|00004430| 63 74 20 57 42 53 74 61 | 72 74 75 70 20 2a 77 62 |ct WBSta|rtup *wb|
|00004440| 73 20 3d 20 28 73 74 72 | 75 63 74 20 57 42 53 74 |s = (str|uct WBSt|
|00004450| 61 72 74 75 70 20 2a 29 | 20 61 72 67 76 3b 09 09 |artup *)| argv;..|
|00004460| 09 09 09 09 09 09 2f 2f | 20 66 72 6f 6d 20 74 68 |......//| from th|
|00004470| 65 20 57 6f 72 6b 62 65 | 6e 63 68 0a 09 09 69 66 |e Workbe|nch...if|
|00004480| 20 28 70 72 6f 67 72 61 | 6d 5f 69 63 6f 6e 20 3d | (progra|m_icon =|
|00004490| 20 47 65 74 44 69 73 6b | 4f 62 6a 65 63 74 28 28 | GetDisk|Object((|
|000044a0| 63 68 61 72 20 2a 29 20 | 77 62 73 2d 3e 73 6d 5f |char *) |wbs->sm_|
|000044b0| 41 72 67 4c 69 73 74 2d | 3e 77 61 5f 4e 61 6d 65 |ArgList-|>wa_Name|
|000044c0| 29 29 20 7b 09 2f 2f 20 | 67 65 74 20 74 68 65 20 |)) {.// |get the |
|000044d0| 70 72 6f 67 72 61 6d 20 | 69 63 6f 6e 0a 09 09 09 |program |icon....|
|000044e0| 72 65 74 75 72 6e 20 28 | 28 63 68 61 72 20 2a 2a |return (|(char **|
|000044f0| 29 20 70 72 6f 67 72 61 | 6d 5f 69 63 6f 6e 2d 3e |) progra|m_icon->|
|00004500| 64 6f 5f 54 6f 6f 6c 54 | 79 70 65 73 29 3b 09 09 |do_ToolT|ypes);..|
|00004510| 09 09 09 09 09 09 2f 2f | 20 72 65 74 75 72 6e 20 |......//| return |
|00004520| 74 6f 6f 6c 74 79 70 65 | 73 0a 09 09 7d 0a 09 7d |tooltype|s...}..}|
|00004530| 0a 09 72 65 74 75 72 6e | 20 4e 55 4c 4c 3b 0a 7d |..return| NULL;.}|
|00004540| 0a 0a 2f 2a 20 4d 79 20 | 76 65 72 73 69 6f 6e 20 |../* My |version |
|00004550| 6f 66 20 41 72 67 53 74 | 72 69 6e 67 0a 20 2a 20 |of ArgSt|ring. * |
|00004560| 72 65 74 75 72 6e 73 20 | 20 20 3a 20 73 74 72 69 |returns | : stri|
|00004570| 6e 67 20 72 65 73 75 6c | 74 0a 20 2a 20 70 61 72 |ng resul|t. * par|
|00004580| 61 6d 65 74 65 72 73 3a | 20 61 72 67 31 20 2d 20 |ameters:| arg1 - |
|00004590| 70 61 72 61 6d 65 74 65 | 72 20 61 72 72 61 79 0a |paramete|r array.|
|000045a0| 20 2a 20 20 20 20 20 20 | 20 20 20 20 20 20 20 61 | * | a|
|000045b0| 72 67 32 20 2d 20 70 61 | 72 61 6d 65 74 65 72 20 |rg2 - pa|rameter |
|000045c0| 6e 61 6d 65 0a 20 2a 20 | 20 20 20 20 20 20 20 20 |name. * | |
|000045d0| 20 20 20 20 61 72 67 33 | 20 2d 20 64 65 66 61 75 | arg3| - defau|
|000045e0| 6c 74 20 76 61 6c 75 65 | 0a 20 2a 2f 0a 55 42 59 |lt value|. */.UBY|
|000045f0| 54 45 20 2a 0a 41 72 67 | 53 74 72 69 6e 67 28 20 |TE *.Arg|String( |
|00004600| 55 42 59 54 45 20 2a 2a | 61 72 67 31 2c 20 55 42 |UBYTE **|arg1, UB|
|00004610| 59 54 45 20 2a 61 72 67 | 32 2c 20 55 42 59 54 45 |YTE *arg|2, UBYTE|
|00004620| 20 2a 61 72 67 33 20 29 | 20 7b 0a 09 55 42 59 54 | *arg3 )| {..UBYT|
|00004630| 45 20 2a 73 3b 0a 09 69 | 66 20 28 61 72 67 31 29 |E *s;..i|f (arg1)|
|00004640| 20 7b 0a 09 09 69 66 20 | 28 73 20 3d 20 46 69 6e | {...if |(s = Fin|
|00004650| 64 54 6f 6f 6c 54 79 70 | 65 28 61 72 67 31 2c 61 |dToolTyp|e(arg1,a|
|00004660| 72 67 32 29 29 20 7b 0a | 09 09 09 72 65 74 75 72 |rg2)) {.|...retur|
|00004670| 6e 20 73 3b 0a 09 09 7d | 0a 09 7d 0a 09 72 65 74 |n s;...}|..}..ret|
|00004680| 75 72 6e 20 61 72 67 33 | 3b 0a 7d 0a 0a 2f 2a 20 |urn arg3|;.}../* |
|00004690| 54 68 65 20 66 6f 6c 6c | 6f 77 69 6e 67 20 64 65 |The foll|owing de|
|000046a0| 66 69 6e 65 73 20 61 72 | 65 20 77 68 61 74 20 6d |fines ar|e what m|
|000046b0| 61 6b 65 20 74 68 69 73 | 20 63 6f 64 65 20 73 70 |ake this| code sp|
|000046c0| 65 63 69 66 69 63 20 74 | 6f 20 54 53 4d 6f 72 70 |ecific t|o TSMorp|
|000046d0| 68 0a 20 2a 20 74 68 65 | 79 20 63 6f 75 6c 64 20 |h. * the|y could |
|000046e0| 62 65 20 63 68 61 6e 67 | 65 64 20 66 6f 72 20 61 |be chang|ed for a|
|000046f0| 6e 6f 74 68 65 72 20 70 | 72 6f 67 72 61 6d 0a 20 |nother p|rogram. |
|00004700| 2a 2f 0a 23 64 65 66 69 | 6e 65 20 50 52 45 46 53 |*/.#defi|ne PREFS|
|00004710| 44 49 52 20 22 45 4e 56 | 3a 54 53 4d 6f 72 70 68 |DIR "ENV|:TSMorph|
|00004720| 2f 22 09 09 2f 2f 20 44 | 69 72 65 63 74 6f 72 79 |/"..// D|irectory|
|00004730| 20 77 68 65 72 65 20 70 | 72 65 66 73 20 6d 61 79 | where p|refs may|
|00004740| 20 62 65 20 68 65 6c 64 | 0a 23 64 65 66 69 6e 65 | be held|.#define|
|00004750| 20 50 52 45 46 53 46 49 | 4c 45 20 22 54 53 4d 6f | PREFSFI|LE "TSMo|
|00004760| 72 70 68 2e 70 72 65 66 | 73 22 09 2f 2f 20 4e 61 |rph.pref|s".// Na|
|00004770| 6d 65 20 6f 66 20 70 72 | 65 66 73 20 66 69 6c 65 |me of pr|efs file|
|00004780| 0a 0a 73 74 72 75 63 74 | 20 44 69 73 6b 4f 62 6a |..struct| DiskObj|
|00004790| 65 63 74 09 2a 70 72 6f | 6a 65 63 74 5f 69 63 6f |ect.*pro|ject_ico|
|000047a0| 6e 20 09 09 09 3d 20 4e | 55 4c 4c 3b 09 2f 2f 20 |n ...= N|ULL;.// |
|000047b0| 54 68 65 20 70 72 6f 6a | 65 63 74 20 49 63 6f 6e |The proj|ect Icon|
|000047c0| 0a 63 68 61 72 09 09 09 | 09 09 2a 2a 70 72 6f 6a |.char...|..**proj|
|000047d0| 65 63 74 5f 73 65 74 74 | 69 6e 67 73 09 3d 20 4e |ect_sett|ings.= N|
|000047e0| 55 4c 4c 3b 09 2f 2f 20 | 50 61 72 61 6d 65 74 65 |ULL;.// |Paramete|
|000047f0| 72 73 20 6f 6e 20 70 72 | 6f 6a 65 63 74 20 49 63 |rs on pr|oject Ic|
|00004800| 6f 6e 0a 65 78 74 65 72 | 6e 20 63 68 61 72 09 09 |on.exter|n char..|
|00004810| 09 2a 2a 41 72 67 41 72 | 72 61 79 3b 09 09 09 09 |.**ArgAr|ray;....|
|00004820| 09 09 09 2f 2f 20 50 72 | 6f 67 72 61 6d 20 50 61 |...// Pr|ogram Pa|
|00004830| 72 61 6d 65 74 65 72 2f | 54 6f 6f 6c 54 79 70 65 |rameter/|ToolType|
|00004840| 73 0a 65 78 74 65 72 6e | 20 63 68 61 72 09 09 09 |s.extern| char...|
|00004850| 2a 2a 41 72 67 41 72 72 | 61 79 53 65 74 74 69 6e |**ArgArr|aySettin|
|00004860| 67 73 3b 09 09 09 09 2f | 2f 20 50 61 72 61 6d 65 |gs;..../|/ Parame|
|00004870| 74 65 72 73 20 66 72 6f | 6d 20 73 65 74 74 69 6e |ters fro|m settin|
|00004880| 67 73 20 66 69 6c 65 0a | 0a 42 4f 4f 4c 09 09 09 |gs file.|.BOOL...|
|00004890| 09 09 46 72 6f 6d 57 42 | 3b 09 09 09 09 09 09 09 |..FromWB|;.......|
|000048a0| 09 2f 2f 20 41 72 65 20 | 77 65 20 73 68 65 6c 6c |.// Are |we shell|
|000048b0| 20 6f 72 20 57 6f 72 6b | 62 65 6e 63 68 0a 0a 2f | or Work|bench../|
|000048c0| 2a 20 53 69 6d 69 6c 61 | 72 20 74 6f 20 41 72 67 |* Simila|r to Arg|
|000048d0| 41 72 72 61 79 49 6e 69 | 74 20 62 75 74 20 6b 6e |ArrayIni|t but kn|
|000048e0| 6f 77 73 0a 20 2a 20 68 | 6f 77 20 74 6f 20 68 61 |ows. * h|ow to ha|
|000048f0| 6e 64 6c 65 20 73 65 74 | 74 69 6e 67 73 20 66 69 |ndle set|tings fi|
|00004900| 6c 65 73 0a 20 2a 20 64 | 6f 65 73 20 6e 6f 74 20 |les. * d|oes not |
|00004910| 72 65 74 75 72 6e 20 61 | 20 76 61 6c 75 65 20 2d |return a| value -|
|00004920| 20 69 74 20 69 73 20 68 | 65 6c 64 20 69 6e 20 74 | it is h|eld in t|
|00004930| 68 69 73 20 66 69 6c 65 | 0a 20 2a 2f 0a 76 6f 69 |his file|. */.voi|
|00004940| 64 0a 4d 79 41 72 67 41 | 72 72 61 79 49 6e 69 74 |d.MyArgA|rrayInit|
|00004950| 28 69 6e 74 20 61 72 67 | 63 2c 63 68 61 72 20 2a |(int arg|c,char *|
|00004960| 2a 61 72 67 76 29 20 7b | 0a 09 42 50 54 52 20 09 |*argv) {|..BPTR .|
|00004970| 6f 6c 64 63 75 72 72 65 | 6e 74 64 69 72 20 09 3d |oldcurre|ntdir .=|
|00004980| 20 4e 55 4c 4c 3b 09 2f | 2f 20 52 65 6d 65 6d 62 | NULL;./|/ Rememb|
|00004990| 65 72 20 74 68 65 20 63 | 75 72 72 65 6e 74 20 64 |er the c|urrent d|
|000049a0| 69 72 0a 09 42 50 54 52 | 20 09 73 65 74 74 69 6e |ir..BPTR| .settin|
|000049b0| 67 73 09 09 09 3d 20 30 | 3b 09 09 2f 2f 20 53 65 |gs...= 0|;..// Se|
|000049c0| 74 74 69 6e 67 73 20 66 | 69 6c 65 20 68 61 6e 64 |ttings f|ile hand|
|000049d0| 6c 65 0a 09 55 42 59 54 | 45 09 73 74 72 69 6e 67 |le..UBYT|E.string|
|000049e0| 5b 36 35 5d 3b 09 09 09 | 09 09 2f 2f 09 62 75 66 |[65];...|..//.buf|
|000049f0| 66 65 72 20 74 6f 20 72 | 65 61 64 20 69 6e 20 28 |fer to r|ead in (|
|00004a00| 73 68 6f 75 6c 64 20 6e | 6f 74 20 62 65 20 6c 69 |should n|ot be li|
|00004a10| 6d 69 74 65 64 20 73 69 | 7a 65 29 0a 09 69 6e 74 |mited si|ze)..int|
|00004a20| 20 09 6b 6f 75 6e 74 09 | 09 09 09 3d 20 30 2c 09 | .kount.|...= 0,.|
|00004a30| 09 2f 2f 20 6e 75 6d 62 | 65 72 20 6f 66 20 73 65 |.// numb|er of se|
|00004a40| 74 74 69 6e 67 73 20 73 | 74 72 69 6e 67 73 20 69 |ttings s|trings i|
|00004a50| 6e 20 66 69 6c 65 0a 09 | 09 09 6b 6f 75 6e 74 31 |n file..|..kount1|
|00004a60| 09 09 09 3d 20 30 3b 09 | 09 2f 2f 20 69 6e 64 65 |...= 0;.|.// inde|
|00004a70| 78 0a 09 55 42 59 54 45 | 20 2a 73 65 74 74 69 6e |x..UBYTE| *settin|
|00004a80| 67 73 6e 61 6d 65 3b 09 | 09 09 09 2f 2f 20 66 69 |gsname;.|...// fi|
|00004a90| 6c 65 20 6e 61 6d 65 20 | 6f 66 20 73 65 74 74 69 |le name |of setti|
|00004aa0| 6e 67 73 0a 09 42 50 54 | 52 09 70 72 6f 6a 65 63 |ngs..BPT|R.projec|
|00004ab0| 74 64 69 72 09 09 3d 20 | 30 3b 09 09 2f 2f 20 70 |tdir..= |0;..// p|
|00004ac0| 72 6f 6a 65 63 74 20 64 | 69 72 65 63 74 6f 72 79 |roject d|irectory|
|00004ad0| 0a 09 73 74 72 75 63 74 | 20 57 42 53 74 61 72 74 |..struct| WBStart|
|00004ae0| 75 70 09 2a 61 72 67 6d | 73 67 3b 09 09 2f 2f 20 |up.*argm|sg;..// |
|00004af0| 57 6f 72 6b 62 65 6e 63 | 68 20 6d 65 73 73 61 67 |Workbenc|h messag|
|00004b00| 65 0a 09 73 74 72 75 63 | 74 20 57 42 41 72 67 20 |e..struc|t WBArg |
|00004b10| 09 09 2a 77 62 5f 61 72 | 67 3b 09 09 2f 2f 20 57 |..*wb_ar|g;..// W|
|00004b20| 6f 72 6b 62 65 6e 63 68 | 20 61 72 67 75 6d 65 6e |orkbench| argumen|
|00004b30| 74 0a 09 2f 2a 20 63 68 | 65 63 6b 20 69 66 20 66 |t../* ch|eck if f|
|00004b40| 72 6f 6d 20 77 6f 72 6b | 62 65 6e 63 68 09 2a 2f |rom work|bench.*/|
|00004b50| 0a 09 69 66 20 28 21 61 | 72 67 63 29 20 7b 0a 09 |..if (!a|rgc) {..|
|00004b60| 09 46 72 6f 6d 57 42 20 | 3d 20 54 52 55 45 3b 0a |.FromWB |= TRUE;.|
|00004b70| 20 20 09 09 61 72 67 6d | 73 67 20 3d 20 28 73 74 | ..argm|sg = (st|
|00004b80| 72 75 63 74 20 57 42 53 | 74 61 72 74 75 70 20 2a |ruct WBS|tartup *|
|00004b90| 29 61 72 67 76 3b 0a 09 | 09 69 66 20 28 61 72 67 |)argv;..|.if (arg|
|00004ba0| 6d 73 67 2d 3e 73 6d 5f | 4e 75 6d 41 72 67 73 20 |msg->sm_|NumArgs |
|00004bb0| 3e 20 31 29 20 7b 0a 09 | 09 09 77 62 5f 61 72 67 |> 1) {..|..wb_arg|
|00004bc0| 20 3d 20 61 72 67 6d 73 | 67 2d 3e 73 6d 5f 41 72 | = argms|g->sm_Ar|
|00004bd0| 67 4c 69 73 74 3b 0a 09 | 20 09 09 77 62 5f 61 72 |gList;..| ..wb_ar|
|00004be0| 67 2b 2b 3b 0a 09 09 20 | 09 70 72 6f 6a 65 63 74 |g++;... |.project|
|00004bf0| 64 69 72 20 3d 20 77 62 | 5f 61 72 67 2d 3e 77 61 |dir = wb|_arg->wa|
|00004c00| 5f 4c 6f 63 6b 3b 09 09 | 09 09 09 2f 2f 20 73 65 |_Lock;..|...// se|
|00004c10| 74 20 75 70 20 70 72 6f | 6a 65 63 74 20 64 69 72 |t up pro|ject dir|
|00004c20| 20 66 6f 72 20 73 65 74 | 74 69 6e 67 73 20 66 69 | for set|tings fi|
|00004c30| 6c 65 0a 09 09 09 6f 6c | 64 63 75 72 72 65 6e 74 |le....ol|dcurrent|
|00004c40| 64 69 72 20 3d 20 43 75 | 72 72 65 6e 74 44 69 72 |dir = Cu|rrentDir|
|00004c50| 28 70 72 6f 6a 65 63 74 | 64 69 72 29 3b 09 2f 2f |(project|dir);.//|
|00004c60| 20 73 77 69 74 63 68 20 | 74 6f 20 70 72 6f 6a 65 | switch |to proje|
|00004c70| 63 74 20 64 69 72 0a 09 | 09 09 69 66 20 28 70 72 |ct dir..|..if (pr|
|00004c80| 6f 6a 65 63 74 5f 69 63 | 6f 6e 20 3d 20 47 65 74 |oject_ic|on = Get|
|00004c90| 44 69 73 6b 4f 62 6a 65 | 63 74 28 28 63 68 61 72 |DiskObje|ct((char|
|00004ca0| 20 2a 29 20 77 62 5f 61 | 72 67 2d 3e 77 61 5f 4e | *) wb_a|rg->wa_N|
|00004cb0| 61 6d 65 29 29 20 7b 0a | 09 09 09 09 70 72 6f 6a |ame)) {.|....proj|
|00004cc0| 65 63 74 5f 73 65 74 74 | 69 6e 67 73 20 3d 20 28 |ect_sett|ings = (|
|00004cd0| 63 68 61 72 20 2a 2a 29 | 20 70 72 6f 6a 65 63 74 |char **)| project|
|00004ce0| 5f 69 63 6f 6e 2d 3e 64 | 6f 5f 54 6f 6f 6c 54 79 |_icon->d|o_ToolTy|
|00004cf0| 70 65 73 3b 09 2f 2f 20 | 61 6e 64 20 67 65 74 20 |pes;.// |and get |
|00004d00| 70 72 6f 6a 65 63 74 20 | 74 6f 6f 6c 20 74 79 70 |project |tool typ|
|00004d10| 65 73 20 69 66 20 70 6f | 73 73 2e 0a 09 09 09 7d |es if po|ss.....}|
|00004d20| 0a 09 09 09 43 75 72 72 | 65 6e 74 44 69 72 28 6f |....Curr|entDir(o|
|00004d30| 6c 64 63 75 72 72 65 6e | 74 64 69 72 29 3b 09 09 |ldcurren|tdir);..|
|00004d40| 09 09 09 09 2f 2f 20 73 | 77 69 74 63 68 20 62 61 |....// s|witch ba|
|00004d50| 63 6b 20 74 6f 20 6f 72 | 69 67 69 6e 61 6c 20 64 |ck to or|iginal d|
|00004d60| 69 72 0a 09 09 09 6f 6c | 64 63 75 72 72 65 6e 74 |ir....ol|dcurrent|
|00004d70| 64 69 72 20 3d 20 4e 55 | 4c 4c 3b 0a 09 09 7d 0a |dir = NU|LL;...}.|
|00004d80| 09 7d 0a 09 65 6c 73 65 | 20 7b 0a 09 09 46 72 6f |.}..else| {...Fro|
|00004d90| 6d 57 42 20 3d 20 46 41 | 4c 53 45 3b 0a 09 7d 0a |mWB = FA|LSE;..}.|
|00004da0| 09 2f 2f 20 44 6f 20 6e | 6f 72 6d 61 6c 20 41 72 |.// Do n|ormal Ar|
|00004db0| 67 41 72 72 61 79 49 6e | 69 74 0a 09 41 72 67 41 |gArrayIn|it..ArgA|
|00004dc0| 72 72 61 79 20 3d 20 61 | 72 67 41 72 72 61 79 49 |rray = a|rgArrayI|
|00004dd0| 6e 69 74 28 61 72 67 63 | 2c 61 72 67 76 29 3b 0a |nit(argc|,argv);.|
|00004de0| 09 2f 2f 20 47 65 74 20 | 6e 61 6d 65 20 6f 66 20 |.// Get |name of |
|00004df0| 73 65 74 74 69 6e 67 73 | 20 66 69 6c 65 0a 09 41 |settings| file..A|
|00004e00| 72 67 41 72 72 61 79 53 | 65 74 74 69 6e 67 73 20 |rgArrayS|ettings |
|00004e10| 3d 20 4e 55 4c 4c 3b 0a | 09 73 65 74 74 69 6e 67 |= NULL;.|.setting|
|00004e20| 73 6e 61 6d 65 20 3d 20 | 41 72 67 53 74 72 69 6e |sname = |ArgStrin|
|00004e30| 67 28 70 72 6f 6a 65 63 | 74 5f 73 65 74 74 69 6e |g(projec|t_settin|
|00004e40| 67 73 2c 22 53 45 54 54 | 49 4e 47 53 22 2c 4e 55 |gs,"SETT|INGS",NU|
|00004e50| 4c 4c 29 3b 09 2f 2f 20 | 66 69 72 73 74 20 66 72 |LL);.// |first fr|
|00004e60| 6f 6d 20 53 45 54 54 49 | 4e 47 53 3d 20 6f 6e 20 |om SETTI|NGS= on |
|00004e70| 70 72 6f 6a 65 63 74 0a | 09 69 66 20 28 73 65 74 |project.|.if (set|
|00004e80| 74 69 6e 67 73 6e 61 6d | 65 29 20 7b 0a 09 09 73 |tingsnam|e) {...s|
|00004e90| 65 74 74 69 6e 67 73 20 | 3d 20 4f 70 65 6e 28 73 |ettings |= Open(s|
|00004ea0| 65 74 74 69 6e 67 73 6e | 61 6d 65 2c 4d 4f 44 45 |ettingsn|ame,MODE|
|00004eb0| 5f 4f 4c 44 46 49 4c 45 | 29 3b 09 09 09 09 09 2f |_OLDFILE|);...../|
|00004ec0| 2f 20 74 72 79 20 61 6e | 64 20 6f 70 65 6e 20 69 |/ try an|d open i|
|00004ed0| 66 20 70 72 65 73 65 6e | 74 0a 09 7d 0a 09 69 66 |f presen|t..}..if|
|00004ee0| 20 28 21 73 65 74 74 69 | 6e 67 73 29 20 7b 0a 09 | (!setti|ngs) {..|
|00004ef0| 09 73 65 74 74 69 6e 67 | 73 6e 61 6d 65 20 3d 20 |.setting|sname = |
|00004f00| 41 72 67 53 74 72 69 6e | 67 28 41 72 67 41 72 72 |ArgStrin|g(ArgArr|
|00004f10| 61 79 2c 22 53 45 54 54 | 49 4e 47 53 22 2c 4e 55 |ay,"SETT|INGS",NU|
|00004f20| 4c 4c 29 3b 09 09 2f 2f | 20 69 66 20 6e 6f 74 20 |LL);..//| if not |
|00004f30| 6f 70 65 6e 20 74 72 79 | 20 50 72 6f 67 72 61 6d |open try| Program|
|00004f40| 20 70 61 72 61 6d 65 74 | 65 72 73 2f 74 6f 6f 6c | paramet|ers/tool|
|00004f50| 20 74 79 70 65 73 20 53 | 45 54 54 49 4e 47 53 3d | types S|ETTINGS=|
|00004f60| 0a 09 7d 0a 09 2f 2f 20 | 74 72 79 20 61 6e 64 20 |..}..// |try and |
|00004f70| 6f 70 65 6e 0a 09 69 66 | 20 28 73 65 74 74 69 6e |open..if| (settin|
|00004f80| 67 73 6e 61 6d 65 20 26 | 26 20 21 73 65 74 74 69 |gsname &|& !setti|
|00004f90| 6e 67 73 29 20 7b 0a 09 | 09 73 65 74 74 69 6e 67 |ngs) {..|.setting|
|00004fa0| 73 20 3d 20 4f 70 65 6e | 28 73 65 74 74 69 6e 67 |s = Open|(setting|
|00004fb0| 73 6e 61 6d 65 2c 4d 4f | 44 45 5f 4f 4c 44 46 49 |sname,MO|DE_OLDFI|
|00004fc0| 4c 45 29 3b 09 09 09 09 | 09 2f 2f 20 61 6e 64 20 |LE);....|.// and |
|00004fd0| 74 72 79 20 61 6e 64 20 | 6f 70 65 6e 20 69 66 20 |try and |open if |
|00004fe0| 70 72 65 73 65 6e 74 0a | 09 7d 0a 09 69 66 20 28 |present.|.}..if (|
|00004ff0| 21 73 65 74 74 69 6e 67 | 73 29 20 7b 0a 09 09 2f |!setting|s) {.../|
|00005000| 2a 20 69 66 20 6e 6f 74 | 20 6f 70 65 6e 20 74 68 |* if not| open th|
|00005010| 65 6e 20 69 66 20 66 72 | 6f 6d 20 57 6f 72 6b 42 |en if fr|om WorkB|
|00005020| 65 6e 63 68 20 74 68 65 | 6e 20 63 68 61 6e 67 65 |ench the|n change|
|00005030| 0a 09 09 20 2a 20 74 6f | 20 74 68 65 20 70 72 6f |... * to| the pro|
|00005040| 6a 65 63 74 20 64 69 72 | 2c 20 69 66 20 66 72 6f |ject dir|, if fro|
|00005050| 6d 20 43 4c 49 20 74 72 | 79 20 63 75 72 72 65 6e |m CLI tr|y curren|
|00005060| 74 20 64 69 72 0a 09 09 | 20 2a 2f 0a 09 09 69 66 |t dir...| */...if|
|00005070| 20 28 70 72 6f 6a 65 63 | 74 64 69 72 29 20 7b 0a | (projec|tdir) {.|
|00005080| 09 09 09 6f 6c 64 63 75 | 72 72 65 6e 74 64 69 72 |...oldcu|rrentdir|
|00005090| 20 3d 20 43 75 72 72 65 | 6e 74 44 69 72 28 70 72 | = Curre|ntDir(pr|
|000050a0| 6f 6a 65 63 74 64 69 72 | 29 3b 0a 09 09 7d 0a 09 |ojectdir|);...}..|
|000050b0| 09 69 66 20 28 21 28 73 | 65 74 74 69 6e 67 73 20 |.if (!(s|ettings |
|000050c0| 3d 20 4f 70 65 6e 28 73 | 65 74 74 69 6e 67 73 6e |= Open(s|ettingsn|
|000050d0| 61 6d 65 20 3d 20 50 52 | 45 46 53 46 49 4c 45 2c |ame = PR|EFSFILE,|
|000050e0| 4d 4f 44 45 5f 4f 4c 44 | 46 49 4c 45 29 29 29 20 |MODE_OLD|FILE))) |
|000050f0| 7b 09 2f 2f 20 74 72 79 | 20 61 6e 64 20 6f 70 65 |{.// try| and ope|
|00005100| 6e 20 61 67 61 69 6e 20 | 69 6e 20 22 63 75 72 72 |n again |in "curr|
|00005110| 65 6e 74 22 20 64 69 72 | 0a 09 09 09 2f 2f 20 63 |ent" dir|....// c|
|00005120| 68 61 6e 67 65 20 62 61 | 63 6b 20 69 66 20 69 74 |hange ba|ck if it|
|00005130| 20 64 69 64 20 6e 6f 74 | 20 6f 70 65 6e 0a 09 09 | did not| open...|
|00005140| 09 69 66 20 28 70 72 6f | 6a 65 63 74 64 69 72 29 |.if (pro|jectdir)|
|00005150| 20 7b 0a 09 09 09 09 43 | 75 72 72 65 6e 74 44 69 | {.....C|urrentDi|
|00005160| 72 28 6f 6c 64 63 75 72 | 72 65 6e 74 64 69 72 29 |r(oldcur|rentdir)|
|00005170| 3b 0a 09 09 09 7d 0a 09 | 09 7d 0a 09 7d 0a 09 2f |;....}..|.}..}../|
|00005180| 2f 20 69 66 20 73 74 69 | 6c 6c 20 6e 6f 74 20 6f |/ if sti|ll not o|
|00005190| 70 65 6e 20 74 68 65 6e | 20 74 72 79 20 70 72 6f |pen then| try pro|
|000051a0| 67 72 61 6d 20 64 69 72 | 65 63 74 6f 72 79 0a 09 |gram dir|ectory..|
|000051b0| 69 66 20 28 21 73 65 74 | 74 69 6e 67 73 29 20 7b |if (!set|tings) {|
|000051c0| 0a 09 09 73 65 74 74 69 | 6e 67 73 20 3d 20 4f 70 |...setti|ngs = Op|
|000051d0| 65 6e 28 73 65 74 74 69 | 6e 67 73 6e 61 6d 65 20 |en(setti|ngsname |
|000051e0| 3d 20 22 50 52 4f 47 44 | 49 52 3a 22 50 52 45 46 |= "PROGD|IR:"PREF|
|000051f0| 53 46 49 4c 45 2c 4d 4f | 44 45 5f 4f 4c 44 46 49 |SFILE,MO|DE_OLDFI|
|00005200| 4c 45 29 3b 09 2f 2f 09 | 74 72 79 20 61 6e 64 20 |LE);.//.|try and |
|00005210| 6f 70 65 6e 20 61 67 61 | 69 6e 20 69 6e 20 70 72 |open aga|in in pr|
|00005220| 6f 67 72 61 6d 20 64 69 | 72 0a 09 7d 0a 09 2f 2f |ogram di|r..}..//|
|00005230| 20 73 74 69 6c 6c 20 6e | 6f 74 20 6f 70 65 6e 20 | still n|ot open |
|00005240| 73 6f 20 74 72 79 20 45 | 4e 56 3a 0a 09 69 66 20 |so try E|NV:..if |
|00005250| 28 21 73 65 74 74 69 6e | 67 73 29 20 7b 0a 09 09 |(!settin|gs) {...|
|00005260| 73 65 74 74 69 6e 67 73 | 20 3d 20 4f 70 65 6e 28 |settings| = Open(|
|00005270| 73 65 74 74 69 6e 67 73 | 6e 61 6d 65 20 3d 20 50 |settings|name = P|
|00005280| 52 45 46 53 44 49 52 20 | 50 52 45 46 53 46 49 4c |REFSDIR |PREFSFIL|
|00005290| 45 2c 4d 4f 44 45 5f 4f | 4c 44 46 49 4c 45 29 3b |E,MODE_O|LDFILE);|
|000052a0| 09 2f 2f 20 61 6e 64 20 | 61 67 61 69 6e 21 21 21 |.// and |again!!!|
|000052b0| 20 69 6e 20 45 4e 56 3a | 2f 78 78 78 2f 0a 09 7d | in ENV:|/xxx/..}|
|000052c0| 0a 09 69 66 20 28 73 65 | 74 74 69 6e 67 73 29 20 |..if (se|ttings) |
|000052d0| 7b 09 09 09 09 09 09 09 | 09 09 09 09 09 09 09 09 |{.......|........|
|000052e0| 09 09 09 2f 2f 20 57 65 | 20 68 61 76 65 20 61 20 |...// We| have a |
|000052f0| 73 65 74 74 69 6e 67 73 | 20 66 69 6c 65 21 21 21 |settings| file!!!|
|00005300| 0a 09 09 2f 2f 20 49 66 | 20 77 65 20 68 61 76 65 |...// If| we have|
|00005310| 20 66 6f 75 6e 64 20 61 | 20 66 69 6c 65 20 74 68 | found a| file th|
|00005320| 65 6e 20 63 6f 75 6e 74 | 20 74 68 65 20 72 65 6c |en count| the rel|
|00005330| 65 76 61 6e 74 20 6c 69 | 6e 65 73 0a 09 09 77 68 |evant li|nes...wh|
|00005340| 69 6c 65 20 28 46 47 65 | 74 73 28 73 65 74 74 69 |ile (FGe|ts(setti|
|00005350| 6e 67 73 2c 73 74 72 69 | 6e 67 2c 36 34 29 29 20 |ngs,stri|ng,64)) |
|00005360| 7b 09 09 2f 2f 20 72 65 | 61 64 20 69 6e 20 65 61 |{..// re|ad in ea|
|00005370| 63 68 20 6c 69 6e 65 0a | 09 09 09 69 66 20 28 28 |ch line.|...if ((|
|00005380| 73 74 72 69 6e 67 5b 30 | 5d 20 21 3d 20 27 5c 6e |string[0|] != '\n|
|00005390| 27 29 20 26 26 09 09 09 | 09 2f 2f 20 69 67 6e 6f |') &&...|.// igno|
|000053a0| 72 65 20 62 6c 61 6e 6b | 20 6c 69 6e 65 73 0a 09 |re blank| lines..|
|000053b0| 09 09 09 20 28 73 74 72 | 69 6e 67 5b 30 5d 20 21 |... (str|ing[0] !|
|000053c0| 3d 20 27 3b 27 29 29 20 | 7b 09 09 09 09 2f 2f 20 |= ';')) |{....// |
|000053d0| 61 6e 64 20 63 6f 6d 6d | 65 6e 74 65 64 20 6f 75 |and comm|ented ou|
|000053e0| 74 20 6c 69 6e 65 73 0a | 09 09 09 09 2b 2b 6b 6f |t lines.|....++ko|
|000053f0| 75 6e 74 3b 09 09 09 09 | 09 09 09 09 09 2f 2f 20 |unt;....|.....// |
|00005400| 63 6f 75 6e 74 20 74 68 | 65 20 72 65 73 74 0a 09 |count th|e rest..|
|00005410| 09 09 7d 0a 09 09 7d 0a | 09 09 43 6c 6f 73 65 28 |..}...}.|..Close(|
|00005420| 73 65 74 74 69 6e 67 73 | 29 3b 09 09 09 09 09 09 |settings|);......|
|00005430| 09 09 2f 2f 20 63 6c 6f | 73 65 20 74 68 65 20 66 |..// clo|se the f|
|00005440| 69 6c 65 0a 09 09 69 66 | 20 28 73 65 74 74 69 6e |ile...if| (settin|
|00005450| 67 73 20 3d 20 4f 70 65 | 6e 28 73 65 74 74 69 6e |gs = Ope|n(settin|
|00005460| 67 73 6e 61 6d 65 2c 4d | 4f 44 45 5f 4f 4c 44 46 |gsname,M|ODE_OLDF|
|00005470| 49 4c 45 29 29 20 7b 09 | 2f 2f 20 72 65 6f 70 65 |ILE)) {.|// reope|
|00005480| 6e 20 69 74 20 28 77 68 | 79 20 6e 6f 74 20 73 65 |n it (wh|y not se|
|00005490| 65 6b 3f 29 0a 09 09 09 | 2f 2f 20 41 6c 6c 6f 63 |ek?)....|// Alloc|
|000054a0| 61 74 65 20 6d 65 6d 6f | 72 79 20 66 6f 72 20 73 |ate memo|ry for s|
|000054b0| 65 74 74 69 6e 67 73 20 | 66 72 6f 6d 20 66 69 6c |ettings |from fil|
|000054c0| 65 20 70 6f 69 6e 74 65 | 72 73 20 28 69 6e 63 6c |e pointe|rs (incl|
|000054d0| 75 64 69 6e 67 20 7a 65 | 72 6f 20 61 74 20 65 6e |uding ze|ro at en|
|000054e0| 64 0a 09 09 09 69 66 20 | 28 41 72 67 41 72 72 61 |d....if |(ArgArra|
|000054f0| 79 53 65 74 74 69 6e 67 | 73 20 3d 20 41 6c 6c 6f |ySetting|s = Allo|
|00005500| 63 56 65 63 28 28 6b 6f | 75 6e 74 2b 31 29 20 2a |cVec((ko|unt+1) *|
|00005510| 20 73 69 7a 65 6f 66 28 | 55 42 59 54 45 20 2a 29 | sizeof(|UBYTE *)|
|00005520| 2c 4d 45 4d 46 5f 43 4c | 45 41 52 29 29 20 7b 0a |,MEMF_CL|EAR)) {.|
|00005530| 09 09 09 09 2f 2f 20 52 | 65 61 64 20 69 6e 20 61 |....// R|ead in a|
|00005540| 6c 6c 20 73 65 74 74 69 | 6e 67 73 0a 09 09 09 09 |ll setti|ngs.....|
|00005550| 77 68 69 6c 65 20 28 46 | 47 65 74 73 28 73 65 74 |while (F|Gets(set|
|00005560| 74 69 6e 67 73 2c 73 74 | 72 69 6e 67 2c 36 34 29 |tings,st|ring,64)|
|00005570| 20 26 26 0a 09 09 09 09 | 09 09 20 28 6b 6f 75 6e | &&.....|.. (koun|
|00005580| 74 31 20 3c 20 6b 6f 75 | 6e 74 29 29 20 7b 09 09 |t1 < kou|nt)) {..|
|00005590| 09 09 09 09 09 09 09 2f | 2f 20 44 6f 20 6e 6f 74 |......./|/ Do not|
|000055a0| 20 64 6f 20 74 6f 6f 20 | 6d 61 6e 79 0a 09 09 09 | do too |many....|
|000055b0| 09 09 2f 2f 20 72 65 6d | 6f 76 65 20 6e 65 77 6c |..// rem|ove newl|
|000055c0| 69 6e 65 20 28 66 72 6f | 6d 20 46 47 65 74 73 29 |ine (fro|m FGets)|
|000055d0| 0a 09 09 09 09 09 73 74 | 72 69 6e 67 5b 73 74 72 |......st|ring[str|
|000055e0| 6c 65 6e 28 73 74 72 69 | 6e 67 29 2d 31 5d 20 3d |len(stri|ng)-1] =|
|000055f0| 20 27 5c 30 27 3b 0a 09 | 09 09 09 09 2f 2f 20 69 | '\0';..|....// i|
|00005600| 67 6e 6f 72 65 20 62 6c | 61 6e 6b 20 61 6e 64 20 |gnore bl|ank and |
|00005610| 63 6f 6d 6d 65 6e 74 20 | 6c 69 6e 65 73 0a 09 09 |comment |lines...|
|00005620| 09 09 09 69 66 20 28 73 | 74 72 69 6e 67 5b 30 5d |...if (s|tring[0]|
|00005630| 20 26 26 20 28 73 74 72 | 69 6e 67 5b 30 5d 21 3d | && (str|ing[0]!=|
|00005640| 27 3b 27 29 29 20 7b 0a | 09 09 09 09 09 09 2f 2f |';')) {.|......//|
|00005650| 20 43 6c 6f 6e 65 20 73 | 65 74 74 69 6e 67 73 20 | Clone s|ettings |
|00005660| 69 6e 20 6d 65 6d 6f 72 | 79 0a 09 09 09 09 09 09 |in memor|y.......|
|00005670| 41 72 67 41 72 72 61 79 | 53 65 74 74 69 6e 67 73 |ArgArray|Settings|
|00005680| 5b 6b 6f 75 6e 74 31 5d | 20 3d 20 73 74 72 64 75 |[kount1]| = strdu|
|00005690| 70 28 73 74 72 69 6e 67 | 29 3b 09 2f 2f 20 4e 6f |p(string|);.// No|
|000056a0| 74 65 21 0a 09 09 09 09 | 09 09 2b 2b 6b 6f 75 6e |te!.....|..++koun|
|000056b0| 74 31 3b 09 09 09 09 09 | 09 09 09 09 09 09 09 2f |t1;.....|......./|
|000056c0| 2f 20 73 74 72 64 75 70 | 28 29 20 6e 6f 74 20 41 |/ strdup|() not A|
|000056d0| 6c 6c 6f 63 4d 65 6d 28 | 29 20 65 74 63 2e 0a 09 |llocMem(|) etc...|
|000056e0| 09 09 09 09 7d 09 09 09 | 09 09 09 09 09 09 09 09 |....}...|........|
|000056f0| 09 09 09 09 09 2f 2f 20 | 73 6f 20 6d 65 6d 6f 72 |.....// |so memor|
|00005700| 79 20 69 73 20 6f 6e 6c | 79 20 66 72 65 65 64 20 |y is onl|y freed |
|00005710| 6f 6e 20 71 75 69 74 0a | 09 09 09 09 7d 0a 09 09 |on quit.|....}...|
|00005720| 09 7d 0a 09 09 09 2f 2f | 20 43 6c 6f 73 65 20 66 |.}....//| Close f|
|00005730| 69 6c 65 20 61 6e 64 20 | 63 68 61 6e 67 65 20 64 |ile and |change d|
|00005740| 69 72 65 63 74 6f 72 79 | 20 62 61 63 6b 20 69 66 |irectory| back if|
|00005750| 20 72 65 71 75 69 72 65 | 64 0a 09 09 09 43 6c 6f | require|d....Clo|
|00005760| 73 65 28 73 65 74 74 69 | 6e 67 73 29 3b 0a 09 09 |se(setti|ngs);...|
|00005770| 7d 0a 09 09 69 66 20 28 | 6f 6c 64 63 75 72 72 65 |}...if (|oldcurre|
|00005780| 6e 74 64 69 72 29 20 7b | 0a 09 09 09 43 75 72 72 |ntdir) {|....Curr|
|00005790| 65 6e 74 44 69 72 28 6f | 6c 64 63 75 72 72 65 6e |entDir(o|ldcurren|
|000057a0| 74 64 69 72 29 3b 0a 09 | 09 7d 0a 09 7d 0a 7d 0a |tdir);..|.}..}.}.|
|000057b0| 0a 2f 2a 20 53 69 6d 69 | 6c 61 72 20 74 6f 20 41 |./* Simi|lar to A|
|000057c0| 72 67 41 72 72 61 79 44 | 6f 6e 65 20 62 75 74 20 |rgArrayD|one but |
|000057d0| 6b 6e 6f 77 73 0a 20 2a | 20 68 6f 77 20 74 6f 20 |knows. *| how to |
|000057e0| 68 61 6e 64 6c 65 20 73 | 65 74 74 69 6e 67 73 20 |handle s|ettings |
|000057f0| 66 69 6c 65 73 0a 20 2a | 2f 0a 76 6f 69 64 0a 4d |files. *|/.void.M|
|00005800| 79 41 72 67 41 72 72 61 | 79 44 6f 6e 65 28 76 6f |yArgArra|yDone(vo|
|00005810| 69 64 29 20 7b 0a 09 2f | 2f 20 43 61 6c 6c 20 61 |id) {../|/ Call a|
|00005820| 72 67 41 72 72 61 79 44 | 6f 6e 65 0a 09 61 72 67 |rgArrayD|one..arg|
|00005830| 41 72 72 61 79 44 6f 6e | 65 28 29 3b 0a 09 2f 2f |ArrayDon|e();..//|
|00005840| 20 61 6e 64 20 66 72 65 | 65 20 73 65 74 74 69 6e | and fre|e settin|
|00005850| 67 73 20 66 69 6c 65 20 | 70 6f 69 6e 74 65 72 73 |gs file |pointers|
|00005860| 0a 09 69 66 20 28 41 72 | 67 41 72 72 61 79 53 65 |..if (Ar|gArraySe|
|00005870| 74 74 69 6e 67 73 29 20 | 7b 0a 09 09 46 72 65 65 |ttings) |{...Free|
|00005880| 56 65 63 28 41 72 67 41 | 72 72 61 79 53 65 74 74 |Vec(ArgA|rraySett|
|00005890| 69 6e 67 73 29 3b 0a 09 | 09 41 72 67 41 72 72 61 |ings);..|.ArgArra|
|000058a0| 79 53 65 74 74 69 6e 67 | 73 20 3d 20 4e 55 4c 4c |ySetting|s = NULL|
|000058b0| 3b 0a 09 7d 0a 09 2f 2f | 20 61 6e 64 20 74 68 65 |;..}..//| and the|
|000058c0| 20 70 72 6f 6a 65 63 74 | 20 69 63 6f 6e 0a 09 69 | project| icon..i|
|000058d0| 66 20 28 70 72 6f 6a 65 | 63 74 5f 69 63 6f 6e 29 |f (proje|ct_icon)|
|000058e0| 20 7b 0a 09 09 46 72 65 | 65 44 69 73 6b 4f 62 6a | {...Fre|eDiskObj|
|000058f0| 65 63 74 28 70 72 6f 6a | 65 63 74 5f 69 63 6f 6e |ect(proj|ect_icon|
|00005900| 29 3b 0a 09 09 70 72 6f | 6a 65 63 74 5f 69 63 6f |);...pro|ject_ico|
|00005910| 6e 20 3d 20 4e 55 4c 4c | 3b 0a 09 7d 0a 7d 0a 0a |n = NULL|;..}.}..|
|00005920| 2f 2a 20 53 69 6d 69 6c | 61 72 20 74 6f 20 41 72 |/* Simil|ar to Ar|
|00005930| 67 53 74 72 69 6e 67 20 | 62 75 74 20 6b 6e 6f 77 |gString |but know|
|00005940| 73 0a 20 2a 20 68 6f 77 | 20 74 6f 20 68 61 6e 64 |s. * how| to hand|
|00005950| 6c 65 20 73 65 74 74 69 | 6e 67 73 20 66 69 6c 65 |le setti|ngs file|
|00005960| 73 0a 20 2a 20 6d 69 73 | 73 69 6e 67 20 70 61 72 |s. * mis|sing par|
|00005970| 61 6d 65 74 65 72 3a 20 | 61 72 67 31 20 20 20 2d |ameter: |arg1 -|
|00005980| 20 69 73 20 69 6e 74 65 | 72 6e 61 6c 0a 20 2a 20 | is inte|rnal. * |
|00005990| 65 78 74 72 61 20 70 61 | 72 61 6d 65 74 65 72 20 |extra pa|rameter |
|000059a0| 20 3a 20 72 65 6f 70 65 | 6e 20 2d 20 73 65 74 20 | : reope|n - set |
|000059b0| 69 66 20 74 68 69 73 20 | 69 73 20 6e 6f 74 20 74 |if this |is not t|
|000059c0| 68 65 20 69 6e 69 74 69 | 61 6c 20 63 61 6c 6c 20 |he initi|al call |
|000059d0| 62 75 74 20 6a 75 73 74 | 20 61 20 6e 65 77 20 70 |but just| a new p|
|000059e0| 72 6f 6a 65 63 74 0a 20 | 2a 2f 0a 55 42 59 54 45 |roject. |*/.UBYTE|
|000059f0| 20 2a 0a 4d 79 41 72 67 | 53 74 72 69 6e 67 28 55 | *.MyArg|String(U|
|00005a00| 42 59 54 45 20 2a 61 72 | 67 32 2c 55 42 59 54 45 |BYTE *ar|g2,UBYTE|
|00005a10| 20 2a 61 72 67 33 2c 42 | 4f 4f 4c 20 72 65 6f 70 | *arg3,B|OOL reop|
|00005a20| 65 6e 29 20 7b 0a 09 55 | 42 59 54 45 20 2a 73 3b |en) {..U|BYTE *s;|
|00005a30| 0a 09 2f 2f 20 4c 6f 6f | 6b 20 69 6e 20 70 72 6f |..// Loo|k in pro|
|00005a40| 6a 65 63 74 20 50 61 72 | 61 6d 65 74 65 72 73 20 |ject Par|ameters |
|00005a50| 66 69 72 73 74 0a 09 69 | 66 20 28 70 72 6f 6a 65 |first..i|f (proje|
|00005a60| 63 74 5f 73 65 74 74 69 | 6e 67 73 29 20 7b 0a 09 |ct_setti|ngs) {..|
|00005a70| 09 69 66 20 28 73 20 3d | 20 46 69 6e 64 54 6f 6f |.if (s =| FindToo|
|00005a80| 6c 54 79 70 65 28 70 72 | 6f 6a 65 63 74 5f 73 65 |lType(pr|oject_se|
|00005a90| 74 74 69 6e 67 73 2c 61 | 72 67 32 29 29 20 7b 0a |ttings,a|rg2)) {.|
|00005aa0| 09 09 09 72 65 74 75 72 | 6e 20 73 3b 0a 09 09 7d |...retur|n s;...}|
|00005ab0| 0a 09 7d 0a 09 69 66 20 | 28 21 72 65 6f 70 65 6e |..}..if |(!reopen|
|00005ac0| 29 20 7b 0a 09 09 2f 2f | 20 74 68 65 6e 20 6c 6f |) {...//| then lo|
|00005ad0| 6f 6b 20 69 6e 20 70 61 | 72 61 6d 65 74 65 72 73 |ok in pa|rameters|
|00005ae0| 0a 09 09 69 66 20 28 41 | 72 67 41 72 72 61 79 29 |...if (A|rgArray)|
|00005af0| 20 7b 0a 09 09 09 69 66 | 20 28 73 20 3d 20 46 69 | {....if| (s = Fi|
|00005b00| 6e 64 54 6f 6f 6c 54 79 | 70 65 28 41 72 67 41 72 |ndToolTy|pe(ArgAr|
|00005b10| 72 61 79 2c 61 72 67 32 | 29 29 20 7b 0a 09 09 09 |ray,arg2|)) {....|
|00005b20| 09 72 65 74 75 72 6e 20 | 73 3b 0a 09 09 09 7d 0a |.return |s;....}.|
|00005b30| 09 09 7d 0a 09 09 2f 2f | 20 74 68 65 6e 20 69 6e |..}...//| then in|
|00005b40| 20 73 65 74 74 69 6e 67 | 73 20 66 69 6c 65 0a 09 | setting|s file..|
|00005b50| 09 69 66 20 28 41 72 67 | 41 72 72 61 79 53 65 74 |.if (Arg|ArraySet|
|00005b60| 74 69 6e 67 73 29 20 7b | 0a 09 09 09 69 66 20 28 |tings) {|....if (|
|00005b70| 73 20 3d 20 46 69 6e 64 | 54 6f 6f 6c 54 79 70 65 |s = Find|ToolType|
|00005b80| 28 41 72 67 41 72 72 61 | 79 53 65 74 74 69 6e 67 |(ArgArra|ySetting|
|00005b90| 73 2c 61 72 67 32 29 29 | 20 7b 0a 09 09 09 09 72 |s,arg2))| {.....r|
|00005ba0| 65 74 75 72 6e 20 73 3b | 0a 09 09 09 7d 0a 09 09 |eturn s;|....}...|
|00005bb0| 7d 0a 09 7d 0a 09 72 65 | 74 75 72 6e 20 61 72 67 |}..}..re|turn arg|
|00005bc0| 33 3b 0a 7d 0a 0a 2f 2a | 20 53 69 6d 69 6c 61 72 |3;.}../*| Similar|
|00005bd0| 20 74 6f 20 41 72 67 49 | 6e 74 20 62 75 74 20 6b | to ArgI|nt but k|
|00005be0| 6e 6f 77 73 0a 20 2a 20 | 68 6f 77 20 74 6f 20 68 |nows. * |how to h|
|00005bf0| 61 6e 64 6c 65 20 73 65 | 74 74 69 6e 67 73 20 66 |andle se|ttings f|
|00005c00| 69 6c 65 73 0a 20 2a 20 | 53 65 65 20 4d 79 41 72 |iles. * |See MyAr|
|00005c10| 67 53 74 72 69 6e 67 28 | 29 20 66 6f 72 20 64 69 |gString(|) for di|
|00005c20| 66 66 65 72 65 6e 74 20 | 70 61 72 61 6d 65 74 65 |fferent |paramete|
|00005c30| 72 73 0a 20 2a 2f 0a 4c | 4f 4e 47 0a 4d 79 41 72 |rs. */.L|ONG.MyAr|
|00005c40| 67 49 6e 74 28 55 42 59 | 54 45 20 2a 61 72 67 32 |gInt(UBY|TE *arg2|
|00005c50| 2c 20 6c 6f 6e 67 20 61 | 72 67 33 2c 42 4f 4f 4c |, long a|rg3,BOOL|
|00005c60| 20 72 65 6f 70 65 6e 29 | 20 7b 0a 09 55 42 59 54 | reopen)| {..UBYT|
|00005c70| 45 20 2a 73 3b 0a 09 4c | 4f 4e 47 20 72 65 74 3b |E *s;..L|ONG ret;|
|00005c80| 0a 09 69 66 20 28 73 20 | 3d 20 4d 79 41 72 67 53 |..if (s |= MyArgS|
|00005c90| 74 72 69 6e 67 28 61 72 | 67 32 2c 4e 55 4c 4c 2c |tring(ar|g2,NULL,|
|00005ca0| 72 65 6f 70 65 6e 29 29 | 20 7b 0a 09 09 53 74 72 |reopen))| {...Str|
|00005cb0| 54 6f 4c 6f 6e 67 28 73 | 2c 26 72 65 74 29 3b 0a |ToLong(s|,&ret);.|
|00005cc0| 09 09 72 65 74 75 72 6e | 20 72 65 74 3b 0a 09 7d |..return| ret;..}|
|00005cd0| 0a 09 72 65 74 75 72 6e | 20 61 72 67 33 3b 0a 7d |..return| arg3;.}|
|00005ce0| 0a 0a 2f 2a 20 53 69 6d | 69 6c 61 72 20 74 6f 20 |../* Sim|ilar to |
|00005cf0| 46 69 6e 64 54 6f 6f 6c | 54 79 70 65 20 62 75 74 |FindTool|Type but|
|00005d00| 20 6b 6e 6f 77 73 0a 20 | 2a 20 68 6f 77 20 74 6f | knows. |* how to|
|00005d10| 20 68 61 6e 64 6c 65 20 | 73 65 74 74 69 6e 67 73 | handle |settings|
|00005d20| 20 66 69 6c 65 73 0a 20 | 2a 20 53 65 65 20 4d 79 | files. |* See My|
|00005d30| 41 72 67 53 74 72 69 6e | 67 28 29 20 66 6f 72 20 |ArgStrin|g() for |
|00005d40| 64 69 66 66 65 72 65 6e | 74 20 70 61 72 61 6d 65 |differen|t parame|
|00005d50| 74 65 72 73 0a 20 2a 2f | 0a 42 4f 4f 4c 20 4d 79 |ters. */|.BOOL My|
|00005d60| 46 69 6e 64 54 6f 6f 6c | 54 79 70 65 28 55 42 59 |FindTool|Type(UBY|
|00005d70| 54 45 20 2a 61 72 67 32 | 2c 42 4f 4f 4c 20 72 65 |TE *arg2|,BOOL re|
|00005d80| 6f 70 65 6e 29 20 7b 0a | 09 69 66 20 28 4d 79 41 |open) {.|.if (MyA|
|00005d90| 72 67 53 74 72 69 6e 67 | 28 61 72 67 32 2c 4e 55 |rgString|(arg2,NU|
|00005da0| 4c 4c 2c 72 65 6f 70 65 | 6e 29 29 20 7b 0a 09 09 |LL,reope|n)) {...|
|00005db0| 72 65 74 75 72 6e 20 54 | 52 55 45 3b 0a 09 7d 0a |return T|RUE;..}.|
|00005dc0| 09 72 65 74 75 72 6e 20 | 46 41 4c 53 45 3b 0a 7d |.return |FALSE;.}|
|00005dd0| 09 0a 0a 2f 2a 20 4f 70 | 65 6e 73 20 61 20 6e 65 |.../* Op|ens a ne|
|00005de0| 77 20 70 72 6f 6a 65 63 | 74 20 70 61 72 61 6d 65 |w projec|t parame|
|00005df0| 74 65 72 73 0a 20 2a 20 | 46 72 65 65 73 20 6f 6c |ters. * |Frees ol|
|00005e00| 64 20 49 63 6f 6e 20 61 | 6e 64 20 6f 70 65 6e 73 |d Icon a|nd opens|
|00005e10| 20 6e 65 77 2c 20 69 66 | 20 66 72 6f 6d 20 57 6f | new, if| from Wo|
|00005e20| 72 6b 62 65 6e 63 68 0a | 20 2a 20 66 69 6c 65 6e |rkbench.| * filen|
|00005e30| 61 6d 65 20 6d 75 73 74 | 20 62 65 20 66 75 6c 6c |ame must| be full|
|00005e40| 20 66 69 6c 65 20 6e 61 | 6d 65 0a 20 2a 2f 0a 76 | file na|me. */.v|
|00005e50| 6f 69 64 20 4f 70 65 6e | 4e 65 77 41 72 67 73 28 |oid Open|NewArgs(|
|00005e60| 55 42 59 54 45 20 2a 66 | 69 6c 65 6e 61 6d 65 29 |UBYTE *f|ilename)|
|00005e70| 20 7b 0a 09 69 66 20 28 | 46 72 6f 6d 57 42 29 20 | {..if (|FromWB) |
|00005e80| 7b 0a 09 09 69 66 20 28 | 70 72 6f 6a 65 63 74 5f |{...if (|project_|
|00005e90| 69 63 6f 6e 29 20 7b 0a | 09 09 09 46 72 65 65 44 |icon) {.|...FreeD|
|00005ea0| 69 73 6b 4f 62 6a 65 63 | 74 28 70 72 6f 6a 65 63 |iskObjec|t(projec|
|00005eb0| 74 5f 69 63 6f 6e 29 3b | 0a 09 09 7d 0a 09 09 69 |t_icon);|...}...i|
|00005ec0| 66 20 28 70 72 6f 6a 65 | 63 74 5f 69 63 6f 6e 20 |f (proje|ct_icon |
|00005ed0| 3d 20 47 65 74 44 69 73 | 6b 4f 62 6a 65 63 74 28 |= GetDis|kObject(|
|00005ee0| 66 69 6c 65 6e 61 6d 65 | 29 29 20 7b 0a 09 09 09 |filename|)) {....|
|00005ef0| 70 72 6f 6a 65 63 74 5f | 73 65 74 74 69 6e 67 73 |project_|settings|
|00005f00| 20 3d 20 28 63 68 61 72 | 20 2a 2a 29 20 70 72 6f | = (char| **) pro|
|00005f10| 6a 65 63 74 5f 69 63 6f | 6e 2d 3e 64 6f 5f 54 6f |ject_ico|n->do_To|
|00005f20| 6f 6c 54 79 70 65 73 3b | 0a 09 09 7d 0a 09 09 65 |olTypes;|...}...e|
|00005f30| 6c 73 65 20 7b 0a 09 09 | 09 70 72 6f 6a 65 63 74 |lse {...|.project|
|00005f40| 5f 73 65 74 74 69 6e 67 | 73 20 3d 20 4e 55 4c 4c |_setting|s = NULL|
|00005f50| 3b 0a 09 09 7d 0a 09 7d | 0a 7d 0a 1f df 2d 6c 68 |;...}..}|.}...-lh|
|00005f60| 30 2d c4 02 00 00 c4 02 | 00 00 f0 a9 5e 1d 00 00 |0-......|....^...|
|00005f70| 09 62 6f 6f 70 73 69 2e | 6f 6f 3c 04 00 00 03 e7 |.boopsi.|oo<.....|
|00005f80| 00 00 00 03 41 4e 4f 4e | 5f 4d 4f 44 55 4c 45 00 |....ANON|_MODULE.|
|00005f90| 00 00 03 e8 00 00 00 02 | 67 65 74 66 69 6c 65 00 |........|getfile.|
|00005fa0| 00 00 03 e9 00 00 00 7b | 2f 0a 20 68 00 18 48 79 |.......{|/. h..Hy|
|00005fb0| 00 00 00 12 2f 28 00 08 | 4e 75 24 5f 4e 75 48 e7 |..../(..|Nu$_NuH.|
|00005fc0| 00 22 2c 79 00 00 00 00 | 91 c8 43 f9 00 00 01 ac |.",y....|..C.....|
|00005fd0| 95 ca 70 00 72 00 4e ae | fd 5a 20 40 67 08 43 fa |..p.r.N.|.Z @g.C.|
|00005fe0| 00 0c 21 49 00 08 4c df | 44 00 4e 75 48 e7 3f 3e |..!I..L.|D.NuH.?>|
|00005ff0| 28 48 26 49 0c 93 00 00 | 01 01 66 42 2c 79 00 00 |(H&I....|..fB,y..|
|00006000| 00 00 20 3c 80 08 00 34 | 72 00 20 6b 00 04 4e ae |.. <...4|r. k..N.|
|00006010| ff dc 4a 80 67 22 2f 00 | 20 4c 22 4b 61 8a 20 40 |..J.g"/.| L"Ka. @|
|00006020| 67 14 31 7c 00 14 00 04 | 31 7c 00 0e 00 06 21 5f |g.1|....|1|....!_|
|00006030| 00 0a 60 00 01 1a 58 4f | 70 00 60 00 01 12 0c 93 |..`...XO|p.`.....|
|00006040| 00 00 02 02 66 00 01 00 | 78 00 7a 00 7c 14 7e 0e |....f...|x.z.|.~.|
|00006050| 38 2b 00 08 3a 2b 00 0a | 2c 79 00 00 00 00 2a 6b |8+..:+..|,y....*k|
|00006060| 00 04 28 6a 00 0a 24 6b | 00 10 24 6a 00 04 42 ad |..(j..$k|..$j..B.|
|00006070| 00 08 42 2d 00 1d 22 4d | 0c ab 00 00 00 01 00 0c |..B-.."M|........|
|00006080| 66 06 30 2a 00 0a 60 04 | 30 2a 00 0e 4e ae fe aa |f.0*..`.|0*..N...|
|00006090| 22 4d 30 04 32 05 34 04 | d4 46 53 42 36 05 d6 47 |"M0.2.4.|.FSB6..G|
|000060a0| 53 43 4e ae fe ce 2c 79 | 00 00 00 00 20 4d 20 04 |SCN...,y|.... M .|
|000060b0| 22 05 24 06 26 07 48 78 | 00 00 0c ab 00 00 00 01 |".$.&.Hx|........|
|000060c0| 00 0c 66 0a 48 78 00 01 | 48 79 80 08 00 33 2f 0c |..f.Hx..|Hy...3/.|
|000060d0| 48 79 80 08 00 34 22 4f | 4e ae ff 88 4f ef 00 0c |Hy...4"O|N...O...|
|000060e0| 0c ab 00 00 00 01 00 0c | 66 02 50 4f 2c 79 00 00 |........|f.PO,y..|
|000060f0| 00 00 22 4d 0c ab 00 00 | 00 01 00 0c 66 06 30 2a |.."M....|....f.0*|
|00006100| 00 0c 60 04 30 2a 00 04 | 4e ae fe aa 58 44 50 45 |..`.0*..|N...XDPE|
|00006110| 54 45 4f ef ff cc 70 0e | 43 fa 00 46 41 d7 30 99 |TEO...p.|C..FA.0.|
|00006120| d9 58 30 99 db 58 51 c8 | ff f6 22 4d 20 04 22 05 |.X0..XQ.|.."M .".|
|00006130| 4e ae ff 10 22 4d 20 4f | 70 0d 4e ae fe b0 4f ef |N..."M O|p.N...O.|
|00006140| 00 34 70 01 60 08 20 4c | 22 4b 61 00 fe 5c 4c df |.4p.`. L|"Ka..\L.|
|00006150| 7c fc 4e 75 69 6d 61 67 | 65 63 6c 61 73 73 00 00 ||.Nuimag|eclass..|
|00006160| 00 00 ff fa 00 01 ff fa | 00 01 00 00 00 0b 00 00 |........|........|
|00006170| 00 0b ff fa 00 09 ff f8 | 00 06 ff f8 00 04 ff fa |........|........|
|00006180| 00 02 ff fa 00 02 ff fb | 00 05 ff fb 00 06 ff fc |........|........|
|00006190| 00 0a ff fc 00 00 03 ec | 00 00 00 02 00 00 00 00 |........|........|
|000061a0| 00 00 00 08 00 00 00 24 | 00 00 00 00 00 00 03 ef |.......$|........|
|000061b0| 81 00 00 02 5f 47 66 78 | 42 61 73 65 00 00 00 02 |...._Gfx|Base....|
|000061c0| 00 00 00 b2 00 00 01 46 | 81 00 00 03 5f 55 74 69 |.......F|...._Uti|
|000061d0| 6c 69 74 79 42 61 73 65 | 00 00 00 01 00 00 00 56 |lityBase|.......V|
|000061e0| 81 00 00 04 5f 47 61 64 | 54 6f 6f 6c 73 42 61 73 |...._Gad|ToolsBas|
|000061f0| 65 00 00 00 00 00 00 01 | 00 00 01 00 81 00 00 04 |e.......|........|
|00006200| 5f 49 6e 74 75 69 74 69 | 6f 6e 42 61 73 65 00 00 |_Intuiti|onBase..|
|00006210| 00 00 00 01 00 00 00 1c | 01 00 00 02 69 6e 69 74 |........|....init|
|00006220| 47 65 74 00 00 00 00 16 | 01 00 00 02 5f 69 6e 69 |Get.....|...._ini|
|00006230| 74 47 65 74 00 00 00 16 | 00 00 00 00 00 00 03 f2 |tGet....|........|
|00006240| 20 b0 2d 6c 68 30 2d 74 | 02 00 00 74 02 00 00 f0 | .-lh0-t|...t....|
|00006250| a9 5e 1d 00 00 0a 42 72 | 75 73 68 2e 69 6e 66 6f |.^....Br|ush.info|
|00006260| 61 09 e3 10 00 01 00 00 | 00 00 00 0b 00 35 00 39 |a.......|.....5.9|
|00006270| 00 0e 00 06 00 03 00 01 | 01 28 3e 08 01 28 40 40 |........|.(>..(@@|
|00006280| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00006290| 00 01 02 65 00 00 00 00 | 00 00 00 00 80 00 00 00 |...e....|........|
|000062a0| 80 00 00 00 01 2a 61 78 | 00 00 00 00 00 00 00 00 |.....*ax|........|
|000062b0| 00 32 00 32 01 90 00 64 | ff ff 00 00 00 00 02 40 |.2.2...d|.......@|
|000062c0| 02 7f 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000062d0| 00 00 00 00 00 00 00 5a | 00 28 ff ff ff ff 00 01 |.......Z|.(......|
|000062e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 39 00 0e |........|.....9..|
|000062f0| 00 02 00 04 64 f0 03 00 | 00 00 00 00 00 00 00 00 |....d...|........|
|00006300| 00 00 00 00 0f ff ff ff | ff ff e4 00 0c 00 00 00 |........|........|
|00006310| 00 00 04 00 08 00 00 00 | 00 00 24 00 08 00 09 ff |........|..$.....|
|00006320| 20 00 24 00 08 00 09 d5 | 20 00 24 00 08 00 08 00 | .$.....| .$.....|
|00006330| 20 00 24 00 08 00 07 ff | c0 00 24 00 08 00 00 00 | .$.....|..$.....|
|00006340| 00 00 24 00 09 ff ff ff | ff ff e4 00 00 00 00 00 |..$.....|........|
|00006350| 00 00 04 00 0f ff ff ff | ff ff fc 00 00 00 00 00 |........|........|
|00006360| 00 00 00 00 00 00 00 00 | 00 00 00 00 3f ff ff ff |........|....?...|
|00006370| ff ff f8 00 30 00 00 00 | 00 00 18 00 33 ff ff ff |....0...|....3...|
|00006380| ff ff f8 00 37 ff ff ff | ff ff d8 00 37 ff f6 00 |....7...|....7...|
|00006390| df ff d8 00 37 ff f6 2a | df ff d8 00 37 ff f7 ff |....7..*|....7...|
|000063a0| df ff d8 00 37 ff f8 00 | 3f ff d8 00 37 ff ff ff |....7...|?...7...|
|000063b0| ff ff d8 00 36 00 00 00 | 00 00 18 00 3f ff ff ff |....6...|....?...|
|000063c0| ff ff f8 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000063d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000063e0| 00 39 00 0e 00 02 00 04 | 65 d0 03 00 00 00 00 00 |.9......|e.......|
|000063f0| 00 00 00 00 00 00 00 00 | 0f ff ff ff ff ff e4 00 |........|........|
+--------+-------------------------+-------------------------+--------+--------+
Only 25.0 KB of data is shown above.