=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/mandoc/arch.c,v retrieving revision 1.9 retrieving revision 1.10 diff -c -r1.9 -r1.10 *** src/usr.bin/mandoc/arch.c 2014/11/28 18:07:38 1.9 --- src/usr.bin/mandoc/arch.c 2019/03/04 13:01:52 1.10 *************** *** 1,6 **** ! /* $Id: arch.c,v 1.9 2014/11/28 18:07:38 schwarze dead $ */ /* ! * Copyright (c) 2009 Kristaps Dzonsons * * Permission to use, copy, modify, and distribute this software for any * purpose with or without fee is hereby granted, provided that the above --- 1,6 ---- ! /* $OpenBSD: arch.c,v 1.10 2019/03/04 13:01:52 schwarze Exp $ */ /* ! * Copyright (c) 2017, 2019 Ingo Schwarze * * Permission to use, copy, modify, and distribute this software for any * purpose with or without fee is hereby granted, provided that the above *************** *** 16,33 **** */ #include ! #include "mdoc.h" ! #include "libmdoc.h" ! #define LINE(x, y) \ ! if (0 == strcmp(p, x)) return(y); ! ! ! const char * ! mdoc_a2arch(const char *p) { ! #include "arch.in" ! ! return(NULL); } --- 16,52 ---- */ #include ! #include "roff.h" ! int ! arch_valid(const char *arch, enum mandoc_os os) { + const char *openbsd_arch[] = { + "alpha", "amd64", "arm64", "armv7", "hppa", "i386", + "landisk", "loongson", "luna88k", "macppc", "mips64", + "octeon", "sgi", "socppc", "sparc64", NULL + }; + const char *netbsd_arch[] = { + "acorn26", "acorn32", "algor", "alpha", "amiga", + "arc", "atari", + "bebox", "cats", "cesfic", "cobalt", "dreamcast", + "emips", "evbarm", "evbmips", "evbppc", "evbsh3", "evbsh5", + "hp300", "hpcarm", "hpcmips", "hpcsh", "hppa", + "i386", "ibmnws", "luna68k", + "mac68k", "macppc", "mipsco", "mmeye", "mvme68k", "mvmeppc", + "netwinder", "news68k", "newsmips", "next68k", + "pc532", "playstation2", "pmax", "pmppc", "prep", + "sandpoint", "sbmips", "sgimips", "shark", + "sparc", "sparc64", "sun2", "sun3", + "vax", "walnut", "x68k", "x86", "x86_64", "xen", NULL + }; + const char **arches[] = { NULL, netbsd_arch, openbsd_arch }; + const char **arch_p; ! if ((arch_p = arches[os]) == NULL) ! return 1; ! for (; *arch_p != NULL; arch_p++) ! if (strcmp(*arch_p, arch) == 0) ! return 1; ! return 0; }