aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/dict/movie.c
diff options
context:
space:
mode:
authorrsc <devnull@localhost>2004-03-26 01:47:43 +0000
committerrsc <devnull@localhost>2004-03-26 01:47:43 +0000
commit65d5010edaa5c4fd943bfa88b1d8271669092ee6 (patch)
treed9f4ca3f36631cec354d0da747f500654f1489db /src/cmd/dict/movie.c
parentd6f81d852d83f965d9e2c4b594eb90974a5e4123 (diff)
downloadplan9port-65d5010edaa5c4fd943bfa88b1d8271669092ee6.tar.gz
plan9port-65d5010edaa5c4fd943bfa88b1d8271669092ee6.tar.bz2
plan9port-65d5010edaa5c4fd943bfa88b1d8271669092ee6.zip
unken
Diffstat (limited to 'src/cmd/dict/movie.c')
-rw-r--r--src/cmd/dict/movie.c60
1 files changed, 33 insertions, 27 deletions
diff --git a/src/cmd/dict/movie.c b/src/cmd/dict/movie.c
index f1042fd6..b191e140 100644
--- a/src/cmd/dict/movie.c
+++ b/src/cmd/dict/movie.c
@@ -36,33 +36,37 @@ enum {
/* Assoc tables must be sorted on first field */
-static char *tagtab[] = {
-[BEG] "$$",
-[AB] "AB",
-[AN] "AN",
-[AS] "AS",
-[AU] "AU",
-[AW] "AW",
-[BW] "BW",
-[CA] "CA",
-[CN] "CN",
-[CO] "CO",
-[CR] "CR",
-[DE] "DE",
-[DR] "DR",
-[ED] "ED",
-[MP] "MP",
-[NT] "NT",
-[PR] "PR",
-[PS] "PS",
-[RA] "RA",
-[RD] "RD",
-[RT] "RT",
-[RV] "RV",
-[ST] "ST",
-[TI] "TI",
-[TX] "TX",
-[VD] "VD",
+static char *tagtab[NTAG];
+
+static void
+inittagtab(void)
+{
+ tagtab[BEG]= "$$";
+ tagtab[AB]= "AB";
+ tagtab[AN]= "AN";
+ tagtab[AS]= "AS";
+ tagtab[AU]= "AU";
+ tagtab[AW]= "AW";
+ tagtab[BW]= "BW";
+ tagtab[CA]= "CA";
+ tagtab[CN]= "CN";
+ tagtab[CO]= "CO";
+ tagtab[CR]= "CR";
+ tagtab[DE]= "DE";
+ tagtab[DR]= "DR";
+ tagtab[ED]= "ED";
+ tagtab[MP]= "MP";
+ tagtab[NT]= "NT";
+ tagtab[PR]= "PR";
+ tagtab[PS]= "PS";
+ tagtab[RA]= "RA";
+ tagtab[RD]= "RD";
+ tagtab[RT]= "RT";
+ tagtab[RV]= "RV";
+ tagtab[ST]= "ST";
+ tagtab[TI]= "TI";
+ tagtab[TX]= "TX";
+ tagtab[VD]= "VD";
};
static char *mget(int, char *, char *, char **);
@@ -305,6 +309,8 @@ mget(int tag, char *b, char *e, char **eptr)
if(tag < 0 || tag >= NTAG)
return 0;
+ if(tagtab[BEG] == 0)
+ inittagtab();
t = tagtab[tag];
ans = 0;
for(p = b;;) {