DataMuseum.dk

Presents historical artifacts from the history of:

RC9000

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about RC9000

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download
Index: e

⟦afcdcea1b⟧

    Length: 9473 (0x2501)
    Names: »exstr.1«

Derivation

└─⟦50656ff4a⟧ Bits:30010538 TX 3.1 Coldstart
    └─⟦bbf173f5c⟧ »0004« 
        └─⟦this⟧ »./usr/man/cat1/exstr.1« 

Default Hex Dump

0x0000…0020 0a 0a 0a 5f 08 4f 5f 08 6e 5f 08 6c 5f 08 69 5f 08 6e 5f 08 65 20 5f 08 4d 5f 08 61 5f 08 6e 5f   ┆   _ O_ n_ l_ i_ n_ e _ M_ a_ n_┆
0x0020…0040 08 75 5f 08 61 5f 08 6c 20 20 20 20 20 20 20 20 20 20 20 20 20 55 73 65 72 20 43 6f 6d 6d 61 6e   ┆ u_ a_ l             User Comman┆
0x0040…0060 64 73 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 78 73 74 72 28 31 29 0a 0a 0a 0a   ┆ds                  exstr(1)    ┆
0x0060…0080 4e 08 4e 08 4e 08 4e 41 08 41 08 41 08 41 4d 08 4d 08 4d 08 4d 45 08 45 08 45 08 45 0a 20 20 20   ┆N N N NA A A AM M M ME E E E    ┆
0x0080…00a0 20 20 65 78 73 74 72 20 2d 20 65 78 74 72 61 63 74 20 73 74 72 69 6e 67 73 20 66 72 6f 6d 20 73   ┆  exstr - extract strings from s┆
0x00a0…00c0 6f 75 72 63 65 20 66 69 6c 65 73 0a 0a 53 08 53 08 53 08 53 59 08 59 08 59 08 59 4e 08 4e 08 4e   ┆ource files  S S S SY Y Y YN N N┆
0x00c0…00e0 08 4e 4f 08 4f 08 4f 08 4f 50 08 50 08 50 08 50 53 08 53 08 53 08 53 49 08 49 08 49 08 49 53 08   ┆ NO O O OP P P PS S S SI I I IS ┆
0x00e0…0100 53 08 53 08 53 0a 20 20 20 20 20 65 08 65 08 65 08 65 78 08 78 08 78 08 78 73 08 73 08 73 08 73   ┆S S S      e e e ex x x xs s s s┆
0x0100…0120 74 08 74 08 74 08 74 72 08 72 08 72 08 72 20 5f 08 66 5f 08 69 5f 08 6c 5f 08 65 2e 2e 2e 0a 20   ┆t t t tr r r r _ f_ i_ l_ e...  ┆
0x0120…0140 20 20 20 20 65 08 65 08 65 08 65 78 08 78 08 78 08 78 73 08 73 08 73 08 73 74 08 74 08 74 08 74   ┆    e e e ex x x xs s s st t t t┆
0x0140…0160 72 08 72 08 72 08 72 20 2d 08 2d 08 2d 08 2d 65 08 65 08 65 08 65 20 5f 08 66 5f 08 69 5f 08 6c   ┆r r r r - - - -e e e e _ f_ i_ l┆
0x0160…0180 5f 08 65 2e 2e 2e 0a 20 20 20 20 20 65 08 65 08 65 08 65 78 08 78 08 78 08 78 73 08 73 08 73 08   ┆_ e...      e e e ex x x xs s s ┆
0x0180…01a0 73 74 08 74 08 74 08 74 72 08 72 08 72 08 72 20 2d 08 2d 08 2d 08 2d 72 08 72 08 72 08 72 20 5b   ┆st t t tr r r r - - - -r r r r [┆
0x01a0…01c0 2d 08 2d 08 2d 08 2d 64 08 64 08 64 08 64 5d 20 5f 08 66 5f 08 69 5f 08 6c 5f 08 65 2e 2e 2e 0a   ┆- - - -d d d d] _ f_ i_ l_ e... ┆
0x01c0…01e0 0a 44 08 44 08 44 08 44 45 08 45 08 45 08 45 53 08 53 08 53 08 53 43 08 43 08 43 08 43 52 08 52   ┆ D D D DE E E ES S S SC C C CR R┆
0x01e0…0200 08 52 08 52 49 08 49 08 49 08 49 50 08 50 08 50 08 50 54 08 54 08 54 08 54 49 08 49 08 49 08 49   ┆ R RI I I IP P P PT T T TI I I I┆
0x0200…0220 4f 08 4f 08 4f 08 4f 4e 08 4e 08 4e 08 4e 0a 20 20 20 20 20 54 68 65 20 5f 08 65 5f 08 78 5f 08   ┆O O O ON N N N      The _ e_ x_ ┆
0x0220…0240 73 5f 08 74 5f 08 72 20 75 74 69 6c 69 74 79 20 69 73 20 75 73 65 64 20 74 6f 20 65 78 74 72 61   ┆s_ t_ r utility is used to extra┆
0x0240…0260 63 74 20 73 74 72 69 6e 67 73 20 66 72 6f 6d 20 43 2d 6c 61 6e 67 75 61 67 65 0a 20 20 20 20 20   ┆ct strings from C-language      ┆
0x0260…0280 73 6f 75 72 63 65 20 66 69 6c 65 73 20 61 6e 64 20 72 65 70 6c 61 63 65 20 74 68 65 6d 20 62 79   ┆source files and replace them by┆
0x0280…02a0 20 63 61 6c 6c 73 20 74 6f 20 74 68 65 20 6d 65 73 73 61 67 65 0a 20 20 20 20 20 72 65 74 72 69   ┆ calls to the message      retri┆
0x02a0…02c0 65 76 61 6c 20 66 75 6e 63 74 69 6f 6e 20 28 73 65 65 20 5f 08 67 5f 08 65 5f 08 74 5f 08 74 5f   ┆eval function (see _ g_ e_ t_ t_┆
0x02c0…02e0 08 78 5f 08 74 28 33 29 29 2e 20 20 54 68 69 73 20 75 74 69 6c 69 74 79 20 77 69 6c 6c 0a 20 20   ┆ x_ t(3)).  This utility will   ┆
0x02e0…0300 20 20 20 65 78 74 72 61 63 74 20 61 6c 6c 20 63 68 61 72 61 63 74 65 72 20 73 74 72 69 6e 67 73   ┆   extract all character strings┆
0x0300…0320 20 73 75 72 72 6f 75 6e 64 65 64 20 62 79 20 64 6f 75 62 6c 65 20 71 75 6f 74 65 73 2c 0a 20 20   ┆ surrounded by double quotes,   ┆
0x0320…0340 20 20 20 6e 6f 74 20 6a 75 73 74 20 73 74 72 69 6e 67 73 20 75 73 65 64 20 61 73 20 61 72 67 75   ┆   not just strings used as argu┆
0x0340…0360 6d 65 6e 74 73 20 74 6f 20 74 68 65 20 5f 08 70 5f 08 72 5f 08 69 5f 08 6e 5f 08 74 5f 08 66 20   ┆ments to the _ p_ r_ i_ n_ t_ f ┆
0x0360…0380 63 6f 6d 6d 61 6e 64 20 6f 72 0a 20 20 20 20 20 74 68 65 20 5f 08 70 5f 08 72 5f 08 69 5f 08 6e   ┆command or      the _ p_ r_ i_ n┆
0x0380…03a0 5f 08 74 5f 08 66 20 72 6f 75 74 69 6e 65 2e 20 20 49 6e 20 74 68 65 20 66 69 72 73 74 20 66 6f   ┆_ t_ f routine.  In the first fo┆
0x03a0…03c0 72 6d 2c 20 5f 08 65 5f 08 78 5f 08 73 5f 08 74 5f 08 72 20 66 69 6e 64 73 20 61 6c 6c 0a 20 20   ┆rm, _ e_ x_ s_ t_ r finds all   ┆
0x03c0…03e0 20 20 20 73 74 72 69 6e 67 73 20 69 6e 20 74 68 65 20 73 6f 75 72 63 65 20 66 69 6c 65 73 20 61   ┆   strings in the source files a┆
0x03e0…0400 6e 64 20 77 72 69 74 65 73 20 74 68 65 6d 20 6f 6e 20 74 68 65 20 73 74 61 6e 64 61 72 64 0a 20   ┆nd writes them on the standard  ┆
0x0400…0420 20 20 20 20 6f 75 74 70 75 74 2e 20 20 45 61 63 68 20 73 74 72 69 6e 67 20 69 73 20 70 72 65 63   ┆    output.  Each string is prec┆
0x0420…0440 65 64 65 64 20 62 79 20 74 68 65 20 73 6f 75 72 63 65 20 66 69 6c 65 20 6e 61 6d 65 20 61 6e 64   ┆eded by the source file name and┆
0x0440…0460 0a 20 20 20 20 20 61 20 63 6f 6c 6f 6e 2e 20 20 54 68 65 20 6d 65 61 6e 69 6e 67 73 20 6f 66 20   ┆      a colon.  The meanings of ┆
0x0460…0480 74 68 65 20 6f 70 74 69 6f 6e 73 20 61 72 65 3a 0a 0a 20 20 20 20 20 2d 08 2d 08 2d 08 2d 65 08   ┆the options are:       - - - -e ┆
0x0480…04a0 65 08 65 08 65 20 20 20 20 20 20 45 78 74 72 61 63 74 20 61 20 6c 69 73 74 20 6f 66 20 73 74 72   ┆e e e      Extract a list of str┆
0x04a0…04c0 69 6e 67 73 20 66 72 6f 6d 20 74 68 65 20 6e 61 6d 65 64 20 43 2d 6c 61 6e 67 75 61 67 65 0a 20   ┆ings from the named C-language  ┆
0x04c0…04e0 20 20 20 20 20 20 20 20 20 20 20 20 73 6f 75 72 63 65 20 66 69 6c 65 73 2c 20 77 69 74 68 20 70   ┆            source files, with p┆
0x04e0…0500 6f 73 69 74 69 6f 6e 61 6c 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2e 20 20 54 68 69 73 0a 20 20 20   ┆ositional information.  This    ┆
0x0500…0520 20 20 20 20 20 20 20 20 20 20 6c 69 73 74 20 69 73 20 70 72 6f 64 75 63 65 64 20 6f 6e 20 73 74   ┆          list is produced on st┆
0x0520…0540 61 6e 64 61 72 64 20 6f 75 74 70 75 74 20 69 6e 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 0a 20   ┆andard output in the following  ┆
0x0540…0560 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 6d 61 74 3a 0a 0a 20 20 20 20 20 20 20 20 20 20 20   ┆            format:             ┆
0x0560…0580 20 20 20 20 20 20 5f 08 66 5f 08 69 5f 08 6c 5f 08 65 3a 5f 08 6c 5f 08 69 5f 08 6e 5f 08 65 3a   ┆      _ f_ i_ l_ e:_ l_ i_ n_ e:┆
0x0580…05a0 5f 08 70 5f 08 6f 5f 08 73 5f 08 69 5f 08 74 5f 08 69 5f 08 6f 5f 08 6e 3a 5f 08 6d 5f 08 73 5f   ┆_ p_ o_ s_ i_ t_ i_ o_ n:_ m_ s_┆
0x05a0…05c0 08 67 5f 08 66 5f 08 69 5f 08 6c 5f 08 65 3a 5f 08 6d 5f 08 73 5f 08 67 5f 08 6e 5f 08 75 5f 08   ┆ g_ f_ i_ l_ e:_ m_ s_ g_ n_ u_ ┆
0x05c0…05e0 6d 3a 5f 08 73 5f 08 74 5f 08 72 5f 08 69 5f 08 6e 5f 08 67 0a 0a 20 20 20 20 20 20 20 20 20 20   ┆m:_ s_ t_ r_ i_ n_ g            ┆
0x05e0…0600 20 20 20 20 20 20 20 5f 08 66 5f 08 69 5f 08 6c 5f 08 65 20 20 20 20 20 20 74 68 65 20 6e 61 6d   ┆       _ f_ i_ l_ e      the nam┆
0x0600…0620 65 20 6f 66 20 61 20 43 2d 6c 61 6e 67 75 61 67 65 20 73 6f 75 72 63 65 20 66 69 6c 65 0a 20 20   ┆e of a C-language source file   ┆
0x0620…0640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5f 08 6c 5f 08 69 5f 08 6e 5f 08 65 20 20 20 20 20   ┆               _ l_ i_ n_ e     ┆
0x0640…0660 20 6c 69 6e 65 20 6e 75 6d 62 65 72 20 69 6e 20 74 68 65 20 66 69 6c 65 0a 20 20 20 20 20 20 20   ┆ line number in the file        ┆
0x0660…0680 20 20 20 20 20 20 20 20 20 20 5f 08 70 5f 08 6f 5f 08 73 5f 08 69 5f 08 74 5f 08 69 5f 08 6f 5f   ┆          _ p_ o_ s_ i_ t_ i_ o_┆
0x0680…06a0 08 6e 20 20 63 68 61 72 61 63 74 65 72 20 70 6f 73 69 74 69 6f 6e 20 69 6e 20 74 68 65 20 6c 69   ┆ n  character position in the li┆
0x06a0…06c0 6e 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5f 08 6d 5f 08 73 5f 08 67 5f 08 66   ┆ne                  _ m_ s_ g_ f┆
0x06c0…06e0 5f 08 69 5f 08 6c 5f 08 65 20 20 20 6e 75 6c 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆_ i_ l_ e   null                ┆
0x06e0…0700 20 20 5f 08 6d 5f 08 73 5f 08 67 5f 08 6e 5f 08 75 5f 08 6d 20 20 20 20 6e 75 6c 6c 0a 20 20 20   ┆  _ m_ s_ g_ n_ u_ m    null    ┆
0x0700…0720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5f 08 73 5f 08 74 5f 08 72 5f 08 69 5f 08 6e 5f 08 67   ┆              _ s_ t_ r_ i_ n_ g┆
0x0720…0740 20 20 20 20 74 68 65 20 65 78 74 72 61 63 74 65 64 20 74 65 78 74 20 73 74 72 69 6e 67 0a 0a 20   ┆    the extracted text string   ┆
0x0740…0760 20 20 20 20 20 20 20 20 20 20 20 20 4e 6f 72 6d 61 6c 6c 79 20 79 6f 75 20 77 6f 75 6c 64 20 72   ┆            Normally you would r┆
0x0760…0780 65 64 69 72 65 63 74 20 74 68 69 73 20 6f 75 74 70 75 74 20 69 6e 74 6f 20 61 20 66 69 6c 65 2e   ┆edirect this output into a file.┆
0x0780…07a0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 54 68 65 6e 20 79 6f 75 20 77 6f 75 6c 64 20 65 64 69   ┆              Then you would edi┆
0x07a0…07c0 74 20 74 68 69 73 20 66 69 6c 65 20 74 6f 20 61 64 64 20 74 68 65 20 76 61 6c 75 65 73 20 79 6f   ┆t this file to add the values yo┆
0x07c0…07e0 75 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 77 61 6e 74 20 74 6f 20 75 73 65 20 66 6f 72 20 5f   ┆u              want to use for _┆
0x07e0…0800 08 6d 5f 08 73 5f 08 67 5f 08 66 5f 08 69 5f 08 6c 5f 08 65 20 61 6e 64 20 5f 08 6d 5f 08 73 5f   ┆ m_ s_ g_ f_ i_ l_ e and _ m_ s_┆
0x0800…0820 08 67 5f 08 6e 5f 08 75 5f 08 6d 3a 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5f   ┆ g_ n_ u_ m:                   _┆
0x0820…0840 08 6d 5f 08 73 5f 08 67 5f 08 66 5f 08 69 5f 08 6c 5f 08 65 20 20 20 74 68 65 20 66 69 6c 65 20   ┆ m_ s_ g_ f_ i_ l_ e   the file ┆
0x0840…0860 74 68 61 74 20 63 6f 6e 74 61 69 6e 73 20 74 68 65 20 74 65 78 74 0a 20 20 20 20 20 20 20 20 20   ┆that contains the text          ┆
0x0860…0880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 72 69 6e 67 73 20 74 68 61 74 20 77   ┆                  strings that w┆
0x0880…08a0 69 6c 6c 20 72 65 70 6c 61 63 65 20 5f 08 73 5f 08 74 5f 08 72 5f 08 69 5f 08 6e 5f 08 67 2e 20   ┆ill replace _ s_ t_ r_ i_ n_ g. ┆
0x08a0…08c0 20 41 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 69   ┆ A                            fi┆
0x08c0…08e0 6c 65 20 77 69 74 68 20 74 68 69 73 20 6e 61 6d 65 20 6d 75 73 74 20 62 65 20 63 72 65 61 74 65   ┆le with this name must be create┆
0x08e0…0900 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 6e 64   ┆d                            and┆
0x0900…0920 20 69 6e 73 74 61 6c 6c 65 64 20 69 6e 20 74 68 65 20 61 70 70 72 6f 70 72 69 61 74 65 20 70 6c   ┆ installed in the appropriate pl┆
0x0920…0940 61 63 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62   ┆ace                            b┆
0x0940…0960 79 20 74 68 65 20 5f 08 6d 5f 08 6b 5f 08 6d 5f 08 73 5f 08 67 5f 08 73 28 31 29 20 75 74 69 6c   ┆y the _ m_ k_ m_ s_ g_ s(1) util┆
0x0960…0980 69 74 79 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5f 08 6d 5f 08 73 5f 08 67   ┆ity.                   _ m_ s_ g┆
0x0980…09a0 5f 08 6e 5f 08 75 5f 08 6d 20 20 20 20 74 68 65 20 73 65 71 75 65 6e 63 65 20 6e 75 6d 62 65 72   ┆_ n_ u_ m    the sequence number┆
0x09a0…09c0 20 6f 66 20 74 68 65 20 73 74 72 69 6e 67 20 69 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆ of the string in               ┆
0x09c0…09e0 20 20 20 20 20 20 20 20 20 20 20 20 20 5f 08 6d 5f 08 73 5f 08 67 5f 08 66 5f 08 69 5f 08 6c 5f   ┆             _ m_ s_ g_ f_ i_ l_┆
0x09e0…0a00 08 65 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 54 68 65 20 6e 65 78 74 20 73 74 65 70 20   ┆ e.               The next step ┆
0x0a00…0a20 69 73 20 74 6f 20 75 73 65 20 5f 08 65 5f 08 78 5f 08 73 5f 08 74 5f 08 72 20 2d 5f 08 72 20 74   ┆is to use _ e_ x_ s_ t_ r -_ r t┆
0x0a20…0a40 6f 20 72 65 70 6c 61 63 65 20 5f 08 73 5f 08 74 5f 08 72 5f 08 69 5f 08 6e 5f 08 67 73 0a 20 20   ┆o replace _ s_ t_ r_ i_ n_ gs   ┆
0x0a40…0a60 20 20 20 20 20 20 20 20 20 20 20 69 6e 20 5f 08 66 5f 08 69 5f 08 6c 5f 08 65 2e 0a 0a 20 20 20   ┆           in _ f_ i_ l_ e.     ┆
0x0a60…0a80 20 20 2d 08 2d 08 2d 08 2d 72 08 72 08 72 08 72 20 20 20 20 20 20 52 65 70 6c 61 63 65 20 73 74   ┆  - - - -r r r r      Replace st┆
0x0a80…0aa0 72 69 6e 67 73 20 69 6e 20 61 20 43 2d 6c 61 6e 67 75 61 67 65 20 73 6f 75 72 63 65 20 66 69 6c   ┆rings in a C-language source fil┆
0x0aa0…0ac0 65 20 77 69 74 68 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c   ┆e with              function cal┆
0x0ac0…0ae0 6c 73 20 74 6f 20 74 68 65 20 6d 65 73 73 61 67 65 20 72 65 74 72 69 65 76 61 6c 20 66 75 6e 63   ┆ls to the message retrieval func┆
0x0ae0…0b00 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 5f 08 67 5f 08 65 5f 08 74 5f 08 74 5f 08   ┆tion              _ g_ e_ t_ t_ ┆
0x0b00…0b20 78 5f 08 74 28 29 2e 0a 0a 20 20 20 20 20 2d 08 2d 08 2d 08 2d 64 08 64 08 64 08 64 20 20 20 20   ┆x_ t().       - - - -d d d d    ┆
0x0b20…0b40 20 20 54 68 69 73 20 6f 70 74 69 6f 6e 20 69 73 20 75 73 65 64 20 74 6f 67 65 74 68 65 72 20 77   ┆  This option is used together w┆
0x0b40…0b60 69 74 68 20 74 68 65 20 2d 08 2d 08 2d 08 2d 72 08 72 08 72 08 72 20 6f 70 74 69 6f 6e 2e 20 20   ┆ith the - - - -r r r r option.  ┆
0x0b60…0b80 49 66 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 74 68 65 20 6d 65 73 73 61 67 65 20 72 65 74 72   ┆If              the message retr┆
0x0b80…0ba0 69 65 76 61 6c 20 66 61 69 6c 73 20 77 68 65 6e 20 5f 08 67 5f 08 65 5f 08 74 5f 08 74 5f 08 78   ┆ieval fails when _ g_ e_ t_ t_ x┆
0x0ba0…0bc0 5f 08 74 28 29 20 69 73 20 69 6e 76 6f 6b 65 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 61 74   ┆_ t() is invoked              at┆
0x0bc0…0be0 20 72 75 6e 2d 74 69 6d 65 2c 20 74 68 65 6e 20 74 68 65 20 65 78 74 72 61 63 74 65 64 20 73 74   ┆ run-time, then the extracted st┆
0x0be0…0c00 72 69 6e 67 20 69 73 20 70 72 69 6e 74 65 64 2e 0a 0a 20 20 20 20 20 59 6f 75 20 77 6f 75 6c 64   ┆ring is printed.       You would┆
0x0c00…0c20 20 75 73 65 20 74 68 65 20 63 61 70 61 62 69 6c 69 74 79 20 70 72 6f 76 69 64 65 64 20 62 79 20   ┆ use the capability provided by ┆
0x0c20…0c40 5f 08 65 5f 08 78 5f 08 73 5f 08 74 5f 08 72 20 6f 6e 20 61 6e 20 61 70 70 6c 69 2d 0a 20 20 20   ┆_ e_ x_ s_ t_ r on an appli-    ┆
0x0c40…0c60 20 20 63 61 74 69 6f 6e 20 70 72 6f 67 72 61 6d 20 74 68 61 74 20 6e 65 65 64 73 20 74 6f 20 72   ┆  cation program that needs to r┆
0x0c60…0c80 75 6e 20 69 6e 20 61 6e 20 69 6e 74 65 72 6e 61 74 69 6f 6e 61 6c 0a 0a 0a 0a 0a 0a 0a 20 20 20   ┆un in an international          ┆
0x0c80…0ca0 20 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 61 6e 64 20 68 61 76 65 20 6d 65 73 73 61 67 65 73 20   ┆  environment and have messages ┆
0x0ca0…0cc0 70 72 69 6e 74 20 69 6e 20 6d 6f 72 65 20 74 68 61 6e 20 6f 6e 65 0a 20 20 20 20 20 6c 61 6e 67   ┆print in more than one      lang┆
0x0cc0…0ce0 75 61 67 65 2e 20 20 5f 08 65 5f 08 78 5f 08 73 5f 08 74 5f 08 72 20 72 65 70 6c 61 63 65 73 20   ┆uage.  _ e_ x_ s_ t_ r replaces ┆
0x0ce0…0d00 74 65 78 74 20 73 74 72 69 6e 67 73 20 77 69 74 68 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 73   ┆text strings with function calls┆
0x0d00…0d20 0a 20 20 20 20 20 74 68 61 74 20 70 6f 69 6e 74 20 61 74 20 73 74 72 69 6e 67 73 20 69 6e 20 61   ┆      that point at strings in a┆
0x0d20…0d40 20 6d 65 73 73 61 67 65 20 64 61 74 61 20 62 61 73 65 2e 20 20 54 68 65 20 64 61 74 61 20 62 61   ┆ message data base.  The data ba┆
0x0d40…0d60 73 65 0a 20 20 20 20 20 75 73 65 64 20 64 65 70 65 6e 64 73 20 6f 6e 20 74 68 65 20 72 75 6e 2d   ┆se      used depends on the run-┆
0x0d60…0d80 74 69 6d 65 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 4c 43 5f 4d 45 53 53 41 47 45 53 0a 20 20   ┆time value of the LC_MESSAGES   ┆
0x0d80…0da0 20 20 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 61 72 69 61 62 6c 65 2e 0a 0a 20 20 20 20 20 54   ┆   environment variable.       T┆
0x0da0…0dc0 68 65 20 66 69 72 73 74 20 73 74 65 70 20 69 73 20 74 6f 20 75 73 65 20 5f 08 65 5f 08 78 5f 08   ┆he first step is to use _ e_ x_ ┆
0x0dc0…0de0 73 5f 08 74 5f 08 72 20 2d 5f 08 65 20 74 6f 20 65 78 74 72 61 63 74 20 61 20 6c 69 73 74 20 6f   ┆s_ t_ r -_ e to extract a list o┆
0x0de0…0e00 66 0a 20 20 20 20 20 73 74 72 69 6e 67 73 20 61 6e 64 20 73 61 76 65 20 69 74 20 69 6e 20 61 20   ┆f      strings and save it in a ┆
0x0e00…0e20 66 69 6c 65 2e 20 20 4e 65 78 74 2c 20 65 78 61 6d 69 6e 65 20 74 68 69 73 20 6c 69 73 74 20 61   ┆file.  Next, examine this list a┆
0x0e20…0e40 6e 64 0a 20 20 20 20 20 64 65 74 65 72 6d 69 6e 65 20 77 68 69 63 68 20 73 74 72 69 6e 67 73 20   ┆nd      determine which strings ┆
0x0e40…0e60 63 61 6e 20 62 65 20 74 72 61 6e 73 6c 61 74 65 64 20 61 6e 64 20 73 75 62 73 65 71 75 65 6e 74   ┆can be translated and subsequent┆
0x0e60…0e80 6c 79 0a 20 20 20 20 20 72 65 74 72 69 65 76 65 64 20 62 79 20 74 68 65 20 6d 65 73 73 61 67 65   ┆ly      retrieved by the message┆
0x0e80…0ea0 20 72 65 74 72 69 65 76 61 6c 20 66 75 6e 63 74 69 6f 6e 2e 20 20 54 68 65 6e 2c 20 6d 6f 64 69   ┆ retrieval function.  Then, modi┆
0x0ea0…0ec0 66 79 0a 20 20 20 20 20 74 68 69 73 20 66 69 6c 65 20 62 79 20 64 65 6c 65 74 69 6e 67 20 6c 69   ┆fy      this file by deleting li┆
0x0ec0…0ee0 6e 65 73 20 74 68 61 74 20 63 61 6e 27 74 20 62 65 20 74 72 61 6e 73 6c 61 74 65 64 20 61 6e 64   ┆nes that can't be translated and┆
0x0ee0…0f00 2c 0a 20 20 20 20 20 66 6f 72 20 6c 69 6e 65 73 20 74 68 61 74 20 63 61 6e 20 62 65 20 74 72 61   ┆,      for lines that can be tra┆
0x0f00…0f20 6e 73 6c 61 74 65 64 2c 20 62 79 20 61 64 64 69 6e 67 20 74 68 65 20 6d 65 73 73 61 67 65 20 66   ┆nslated, by adding the message f┆
0x0f20…0f40 69 6c 65 0a 20 20 20 20 20 6e 61 6d 65 73 20 61 6e 64 20 74 68 65 20 6d 65 73 73 61 67 65 20 6e   ┆ile      names and the message n┆
0x0f40…0f60 75 6d 62 65 72 73 20 61 73 20 74 68 65 20 66 6f 75 72 74 68 20 28 5f 08 6d 5f 08 73 5f 08 67 5f   ┆umbers as the fourth (_ m_ s_ g_┆
0x0f60…0f80 08 66 5f 08 69 5f 08 6c 5f 08 65 29 20 61 6e 64 0a 20 20 20 20 20 66 69 66 74 68 20 28 5f 08 6d   ┆ f_ i_ l_ e) and      fifth (_ m┆
0x0f80…0fa0 5f 08 73 5f 08 67 5f 08 6e 5f 08 75 5f 08 6d 29 20 65 6e 74 72 69 65 73 20 6f 6e 20 61 20 6c 69   ┆_ s_ g_ n_ u_ m) entries on a li┆
0x0fa0…0fc0 6e 65 2e 20 20 54 68 65 20 6d 65 73 73 61 67 65 20 66 69 6c 65 73 20 6e 61 6d 65 64 0a 20 20 20   ┆ne.  The message files named    ┆
0x0fc0…0fe0 20 20 6d 75 73 74 20 68 61 76 65 20 62 65 65 6e 20 63 72 65 61 74 65 64 20 62 79 20 5f 08 6d 5f   ┆  must have been created by _ m_┆
0x0fe0…1000 08 6b 5f 08 6d 5f 08 73 5f 08 67 5f 08 73 28 31 29 20 61 6e 64 20 65 78 69 73 74 20 69 6e 0a 20   ┆ k_ m_ s_ g_ s(1) and exist in  ┆
0x1000…1020 20 20 20 20 2f 08 2f 08 2f 08 2f 75 08 75 08 75 08 75 73 08 73 08 73 08 73 72 08 72 08 72 08 72   ┆    / / / /u u u us s s sr r r r┆
0x1020…1040 2f 08 2f 08 2f 08 2f 6c 08 6c 08 6c 08 6c 69 08 69 08 69 08 69 62 08 62 08 62 08 62 2f 08 2f 08   ┆/ / / /l l l li i i ib b b b/ / ┆
0x1040…1060 2f 08 2f 6c 08 6c 08 6c 08 6c 6f 08 6f 08 6f 08 6f 63 08 63 08 63 08 63 61 08 61 08 61 08 61 6c   ┆/ /l l l lo o o oc c c ca a a al┆
0x1060…1080 08 6c 08 6c 08 6c 65 08 65 08 65 08 65 2f 08 2f 08 2f 08 2f 5f 08 6c 5f 08 6f 5f 08 63 5f 08 61   ┆ l l le e e e/ / / /_ l_ o_ c_ a┆
0x1080…10a0 5f 08 6c 5f 08 65 2f 08 2f 08 2f 08 2f 4c 08 4c 08 4c 08 4c 43 08 43 08 43 08 43 5f 08 5f 08 5f   ┆_ l_ e/ / / /L L L LC C C C_ _ _┆
0x10a0…10c0 08 5f 4d 08 4d 08 4d 08 4d 45 08 45 08 45 08 45 53 08 53 08 53 08 53 53 08 53 08 53 08 53 41 08   ┆ _M M M ME E E ES S S SS S S SA ┆
0x10c0…10e0 41 08 41 08 41 47 08 47 08 47 08 47 45 08 45 08 45 08 45 53 08 53 08 53 08 53 2e 20 20 28 54 68   ┆A A AG G G GE E E ES S S S.  (Th┆
0x10e0…1100 65 20 64 69 72 65 63 74 6f 72 79 20 5f 08 6c 5f 08 6f 5f 08 63 5f 08 61 5f 08 6c 5f 08 65 0a 20   ┆e directory _ l_ o_ c_ a_ l_ e  ┆
0x1100…1120 20 20 20 20 63 6f 72 72 65 73 70 6f 6e 64 73 20 74 6f 20 74 68 65 20 6c 61 6e 67 75 61 67 65 20   ┆    corresponds to the language ┆
0x1120…1140 69 6e 20 77 68 69 63 68 20 74 68 65 20 74 65 78 74 20 73 74 72 69 6e 67 73 20 61 72 65 0a 20 20   ┆in which the text strings are   ┆
0x1140…1160 20 20 20 77 72 69 74 74 65 6e 3b 20 73 65 65 20 5f 08 73 5f 08 65 5f 08 74 5f 08 6c 5f 08 6f 5f   ┆   written; see _ s_ e_ t_ l_ o_┆
0x1160…1180 08 63 5f 08 61 5f 08 6c 5f 08 65 28 33 29 29 2e 20 20 54 68 65 20 6d 65 73 73 61 67 65 20 6e 75   ┆ c_ a_ l_ e(3)).  The message nu┆
0x1180…11a0 6d 62 65 72 73 20 75 73 65 64 20 6d 75 73 74 0a 20 20 20 20 20 63 6f 72 72 65 73 70 6f 6e 64 20   ┆mbers used must      correspond ┆
0x11a0…11c0 74 6f 20 74 68 65 20 73 65 71 75 65 6e 63 65 20 6e 75 6d 62 65 72 73 20 6f 66 20 73 74 72 69 6e   ┆to the sequence numbers of strin┆
0x11c0…11e0 67 73 20 69 6e 20 74 68 65 20 6d 65 73 73 61 67 65 0a 20 20 20 20 20 66 69 6c 65 73 2e 0a 0a 20   ┆gs in the message      files.   ┆
0x11e0…1200 20 20 20 20 4e 6f 77 20 75 73 65 20 74 68 69 73 20 6d 6f 64 69 66 69 65 64 20 66 69 6c 65 20 61   ┆    Now use this modified file a┆
0x1200…1220 73 20 69 6e 70 75 74 20 74 6f 20 5f 08 65 5f 08 78 5f 08 73 5f 08 74 5f 08 72 20 2d 5f 08 72 20   ┆s input to _ e_ x_ s_ t_ r -_ r ┆
0x1220…1240 74 6f 20 70 72 6f 64 75 63 65 20 61 0a 20 20 20 20 20 6e 65 77 20 76 65 72 73 69 6f 6e 20 6f 66   ┆to produce a      new version of┆
0x1240…1260 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 43 2d 6c 61 6e 67 75 61 67 65 20 73 6f 75 72 63 65 20   ┆ the original C-language source ┆
0x1260…1280 66 69 6c 65 20 69 6e 20 77 68 69 63 68 0a 20 20 20 20 20 74 68 65 20 73 74 72 69 6e 67 73 20 68   ┆file in which      the strings h┆
0x1280…12a0 61 76 65 20 62 65 65 6e 20 72 65 70 6c 61 63 65 64 20 62 79 20 63 61 6c 6c 73 20 74 6f 20 74 68   ┆ave been replaced by calls to th┆
0x12a0…12c0 65 20 6d 65 73 73 61 67 65 0a 20 20 20 20 20 72 65 74 72 69 65 76 61 6c 20 66 75 6e 63 74 69 6f   ┆e message      retrieval functio┆
0x12c0…12e0 6e 20 5f 08 67 5f 08 65 5f 08 74 5f 08 74 5f 08 78 5f 08 74 28 29 2e 20 20 54 68 65 20 5f 08 6d   ┆n _ g_ e_ t_ t_ x_ t().  The _ m┆
0x12e0…1300 5f 08 73 5f 08 67 5f 08 66 5f 08 69 5f 08 6c 5f 08 65 20 61 6e 64 20 5f 08 6d 5f 08 73 5f 08 67   ┆_ s_ g_ f_ i_ l_ e and _ m_ s_ g┆
0x1300…1320 5f 08 6e 5f 08 75 5f 08 6d 20 66 69 65 6c 64 73 0a 20 20 20 20 20 61 72 65 20 75 73 65 64 20 74   ┆_ n_ u_ m fields      are used t┆
0x1320…1340 6f 20 63 6f 6e 73 74 72 75 63 74 20 74 68 65 20 66 69 72 73 74 20 61 72 67 75 6d 65 6e 74 20 74   ┆o construct the first argument t┆
0x1340…1360 6f 20 5f 08 67 5f 08 65 5f 08 74 5f 08 74 5f 08 78 5f 08 74 28 29 2e 20 20 54 68 65 0a 20 20 20   ┆o _ g_ e_ t_ t_ x_ t().  The    ┆
0x1360…1380 20 20 73 65 63 6f 6e 64 20 61 72 67 75 6d 65 6e 74 20 74 6f 20 5f 08 67 5f 08 65 5f 08 74 5f 08   ┆  second argument to _ g_ e_ t_ ┆
0x1380…13a0 74 5f 08 78 5f 08 74 28 29 20 69 73 20 70 72 69 6e 74 65 64 20 69 66 20 74 68 65 20 6d 65 73 73   ┆t_ x_ t() is printed if the mess┆
0x13a0…13c0 61 67 65 0a 20 20 20 20 20 72 65 74 72 69 65 76 61 6c 20 66 61 69 6c 73 20 61 74 20 72 75 6e 2d   ┆age      retrieval fails at run-┆
0x13c0…13e0 74 69 6d 65 2e 20 20 54 68 69 73 20 61 72 67 75 6d 65 6e 74 20 69 73 20 74 68 65 20 6e 75 6c 6c   ┆time.  This argument is the null┆
0x13e0…1400 0a 20 20 20 20 20 73 74 72 69 6e 67 2c 20 75 6e 6c 65 73 73 20 74 68 65 20 2d 08 2d 08 2d 08 2d   ┆      string, unless the - - - -┆
0x1400…1420 64 08 64 08 64 08 64 20 6f 70 74 69 6f 6e 20 69 73 20 75 73 65 64 2e 0a 0a 20 20 20 20 20 54 68   ┆d d d d option is used.       Th┆
0x1420…1440 69 73 20 75 74 69 6c 69 74 79 20 63 61 6e 6e 6f 74 20 72 65 70 6c 61 63 65 20 73 74 72 69 6e 67   ┆is utility cannot replace string┆
0x1440…1460 73 20 69 6e 20 61 6c 6c 20 69 6e 73 74 61 6e 63 65 73 2e 20 46 6f 72 0a 20 20 20 20 20 65 78 61   ┆s in all instances. For      exa┆
0x1460…1480 6d 70 6c 65 2c 20 61 20 73 74 61 74 69 63 20 69 6e 69 74 69 61 6c 69 7a 65 64 20 63 68 61 72 61   ┆mple, a static initialized chara┆
0x1480…14a0 63 74 65 72 20 73 74 72 69 6e 67 20 63 61 6e 6e 6f 74 20 62 65 0a 20 20 20 20 20 72 65 70 6c 61   ┆cter string cannot be      repla┆
0x14a0…14c0 63 65 64 20 62 79 20 61 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 2e 20 20 41 20 73 65 63 6f 6e   ┆ced by a function call.  A secon┆
0x14c0…14e0 64 20 65 78 61 6d 70 6c 65 20 69 73 20 74 68 61 74 20 61 0a 20 20 20 20 20 73 74 72 69 6e 67 20   ┆d example is that a      string ┆
0x14e0…1500 63 6f 75 6c 64 20 62 65 20 69 6e 20 61 20 66 6f 72 6d 20 6f 66 20 61 6e 20 65 73 63 61 70 65 20   ┆could be in a form of an escape ┆
0x1500…1520 73 65 71 75 65 6e 63 65 20 77 68 69 63 68 20 63 6f 75 6c 64 0a 20 20 20 20 20 6e 6f 74 20 62 65   ┆sequence which could      not be┆
0x1520…1540 20 74 72 61 6e 73 6c 61 74 65 64 2e 20 20 49 6e 20 6f 72 64 65 72 20 6e 6f 74 20 74 6f 20 62 72   ┆ translated.  In order not to br┆
0x1540…1560 65 61 6b 20 65 78 69 73 74 69 6e 67 20 63 6f 64 65 2c 20 74 68 65 0a 20 20 20 20 20 66 69 6c 65   ┆eak existing code, the      file┆
0x1560…1580 73 20 63 72 65 61 74 65 64 20 62 79 20 69 6e 76 6f 6b 69 6e 67 20 5f 08 65 5f 08 78 5f 08 73 5f   ┆s created by invoking _ e_ x_ s_┆
0x1580…15a0 08 74 5f 08 72 20 2d 5f 08 65 20 6d 75 73 74 20 62 65 20 65 78 61 6d 69 6e 65 64 20 61 6e 64 0a   ┆ t_ r -_ e must be examined and ┆
0x15a0…15c0 20 20 20 20 20 6c 69 6e 65 73 20 63 6f 6e 74 61 69 6e 69 6e 67 20 73 74 72 69 6e 67 73 20 6e 6f   ┆     lines containing strings no┆
0x15c0…15e0 74 20 72 65 70 6c 61 63 65 61 62 6c 65 20 62 79 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 73 0a   ┆t replaceable by function calls ┆
0x15e0…1600 20 20 20 20 20 6d 75 73 74 20 62 65 20 64 65 6c 65 74 65 64 2e 20 49 6e 20 73 6f 6d 65 20 63 61   ┆     must be deleted. In some ca┆
0x1600…1620 73 65 73 20 74 68 65 20 63 6f 64 65 20 6d 61 79 20 72 65 71 75 69 72 65 20 6d 6f 64 69 66 69 2d   ┆ses the code may require modifi-┆
0x1620…1640 0a 20 20 20 20 20 63 61 74 69 6f 6e 73 20 73 6f 20 74 68 61 74 20 73 74 72 69 6e 67 73 20 63 61   ┆      cations so that strings ca┆
0x1640…1660 6e 20 62 65 20 65 78 74 72 61 63 74 65 64 20 61 6e 64 20 72 65 70 6c 61 63 65 64 20 62 79 0a 20   ┆n be extracted and replaced by  ┆
0x1660…1680 20 20 20 20 63 61 6c 6c 73 20 74 6f 20 74 68 65 20 6d 65 73 73 61 67 65 20 72 65 74 72 69 65 76   ┆    calls to the message retriev┆
0x1680…16a0 61 6c 20 66 75 6e 63 74 69 6f 6e 2e 0a 0a 45 08 45 08 45 08 45 58 08 58 08 58 08 58 41 08 41 08   ┆al function.  E E E EX X X XA A ┆
0x16a0…16c0 41 08 41 4d 08 4d 08 4d 08 4d 50 08 50 08 50 08 50 4c 08 4c 08 4c 08 4c 45 08 45 08 45 08 45 53   ┆A AM M M MP P P PL L L LE E E ES┆
0x16c0…16e0 08 53 08 53 08 53 0a 20 20 20 20 20 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 65 78 61 6d 70 6c   ┆ S S S      The following exampl┆
0x16e0…1700 65 73 20 73 68 6f 77 20 75 73 65 73 20 6f 66 20 5f 08 65 5f 08 78 5f 08 73 5f 08 74 5f 08 72 2e   ┆es show uses of _ e_ x_ s_ t_ r.┆
0x1700…1720 0a 0a 20 20 20 20 20 41 73 73 75 6d 65 20 74 68 61 74 20 74 68 65 20 66 69 6c 65 20 66 08 66 08   ┆       Assume that the file f f ┆
0x1720…1740 66 08 66 6f 08 6f 08 6f 08 6f 6f 08 6f 08 6f 08 6f 2e 08 2e 08 2e 08 2e 63 08 63 08 63 08 63 20   ┆f fo o o oo o o o. . . .c c c c ┆
0x1740…1760 63 6f 6e 74 61 69 6e 73 20 74 77 6f 20 73 74 72 69 6e 67 73 3a 0a 0a 20 20 20 20 20 20 20 20 20   ┆contains two strings:           ┆
0x1760…1780 20 6d 61 69 6e 28 29 0a 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20   ┆ main()           {             ┆
0x1780…17a0 20 20 20 70 72 69 6e 74 66 28 22 54 68 69 73 20 69 73 20 61 6e 20 65 78 61 6d 70 6c 65 5c 6e 22   ┆   printf("This is an example\n"┆
0x17a0…17c0 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 72 69 6e 74 66 28 22 48 65 6c 6c 6f 20   ┆);                printf("Hello ┆
0x17c0…17e0 77 6f 72 6c 64 21 5c 6e 22 29 3b 0a 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 54 68   ┆world!\n");           }       Th┆
0x17e0…1800 65 20 5f 08 65 5f 08 78 5f 08 73 5f 08 74 5f 08 72 20 75 74 69 6c 69 74 79 2c 20 69 6e 76 6f 6b   ┆e _ e_ x_ s_ t_ r utility, invok┆
0x1800…1820 65 64 20 77 69 74 68 20 74 68 65 20 61 72 67 75 6d 65 6e 74 20 66 08 66 08 66 08 66 6f 08 6f 08   ┆ed with the argument f f f fo o ┆
0x1820…1840 6f 08 6f 6f 08 6f 08 6f 08 6f 2e 08 2e 08 2e 08 2e 63 08 63 08 63 08 63 20 65 78 74 72 61 63 74   ┆o oo o o o. . . .c c c c extract┆
0x1840…1860 73 0a 20 20 20 20 20 73 74 72 69 6e 67 73 20 66 72 6f 6d 20 74 68 65 20 6e 61 6d 65 64 20 66 69   ┆s      strings from the named fi┆
0x1860…1880 6c 65 20 61 6e 64 20 70 72 69 6e 74 73 20 74 68 65 6d 20 6f 6e 20 74 68 65 20 73 74 61 6e 64 61   ┆le and prints them on the standa┆
0x1880…18a0 72 64 0a 20 20 20 20 20 6f 75 74 70 75 74 2e 0a 0a 20 20 20 20 20 65 08 65 08 65 08 65 78 08 78   ┆rd      output.       e e e ex x┆
0x18a0…18c0 08 78 08 78 73 08 73 08 73 08 73 74 08 74 08 74 08 74 72 08 72 08 72 08 72 20 66 08 66 08 66 08   ┆ x xs s s st t t tr r r r f f f ┆
0x18c0…18e0 66 6f 08 6f 08 6f 08 6f 6f 08 6f 08 6f 08 6f 2e 08 2e 08 2e 08 2e 63 08 63 08 63 08 63 20 70 72   ┆fo o o oo o o o. . . .c c c c pr┆
0x18e0…1900 6f 64 75 63 65 73 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 6f 75 74 70 75 74 3a 0a 0a 20 20   ┆oduces the following output:    ┆
0x1900…1920 20 20 20 20 20 20 20 20 66 6f 6f 2e 63 3a 54 68 69 73 20 69 73 20 61 6e 20 65 78 61 6d 70 6c 65   ┆        foo.c:This is an example┆
[…truncated at 200 lines…]