|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T o
Length: 1210 (0x4ba) Types: TextFile Names: »options.c«
└─⟦b20c6495f⟧ Bits:30007238 EUUGD18: Wien-båndet, efterår 1987 └─⟦this⟧ »EUUGD18/General/Cent/options.c«
#include "cent.h" #include "sys_dep.h" #define INITOPT(x) in_map[x] = x #define SETOPT(optstring,var) else if (!strcmp(s1,optstring)) in_map[*s3] = var /* Initialize movement characters, possibly from options variable */ dooptions() { char *optline,*tmp; char s1[100], s2[100], s3[100]; INITOPT(LEFT); INITOPT(RIGHT); INITOPT(UPWARD); INITOPT(DOWN); INITOPT(FIRE); INITOPT(UPRIGHT); INITOPT(UPLEFT); INITOPT(DOWNRIGHT); INITOPT(DOWNLEFT); INITOPT(FASTLEFT); INITOPT(FASTRIGHT); INITOPT(PAUSEKEY); if ((optline = getenv("CENTOPTS")) == NULL) return; while (1) { sscanf(optline," %[^ =] %[=] %[^ ,]",s1,s2,s3); if (strcmp(s2,"=") || strlen(s3) != 1) badopts(); if (0) ; SETOPT("fi",FIRE); SETOPT("up",UPWARD); SETOPT("do",DOWN); SETOPT("le",LEFT); SETOPT("ri",RIGHT); SETOPT("ul",UPLEFT); SETOPT("ur",UPRIGHT); SETOPT("dl",DOWNLEFT); SETOPT("dr",DOWNRIGHT); SETOPT("fl",FASTLEFT); SETOPT("fr",FASTRIGHT); SETOPT("pa",PAUSEKEY); else badopts(); if ((tmp = index(optline,',')) == NULL) break; optline = tmp + 1; } } badopts() { printf("Bad options specification in CENTOPTS\n"); exit(1); }