# HG changeset patch # User Mychaela Falconia # Date 1656283353 28800 # Node ID aea422af79ddf63c0f2ffd2d804617d7f105d57a # Parent 26b98505684e47c3493764d29524e0a14fb71924 themwi-short-dial utility written, compiles diff -r 26b98505684e -r aea422af79dd .hgignore --- a/.hgignore Sun Jun 26 14:17:26 2022 -0800 +++ b/.hgignore Sun Jun 26 14:42:33 2022 -0800 @@ -4,4 +4,5 @@ ^utils/themwi-check-own$ ^utils/themwi-dump-numdb$ +^utils/themwi-short-dial$ ^utils/themwi-update-numdb$ diff -r 26b98505684e -r aea422af79dd utils/Makefile --- a/utils/Makefile Sun Jun 26 14:17:26 2022 -0800 +++ b/utils/Makefile Sun Jun 26 14:42:33 2022 -0800 @@ -1,6 +1,6 @@ CC= gcc CFLAGS= -O2 -PROGS= themwi-check-own themwi-dump-numdb themwi-update-numdb +PROGS= themwi-check-own themwi-dump-numdb themwi-short-dial themwi-update-numdb LIBNUMDB=../libnumdb/libnumdb.a LIBUTIL=../libutil/libutil.a INSTBIN=/usr/local/bin @@ -13,6 +13,9 @@ themwi-dump-numdb: themwi-dump-numdb.c ${CC} ${CFLAGS} -o $@ $@.c +themwi-short-dial: themwi-short-dial.o ${LIBNUMDB} ${LIBUTIL} + ${CC} ${CFLAGS} -o $@ $@.o ${LIBNUMDB} ${LIBUTIL} + themwi-update-numdb: themwi-update-numdb.o ${LIBUTIL} ${CC} ${CFLAGS} -o $@ $@.o ${LIBUTIL} diff -r 26b98505684e -r aea422af79dd utils/themwi-short-dial.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/utils/themwi-short-dial.c Sun Jun 26 14:42:33 2022 -0800 @@ -0,0 +1,37 @@ +/* + * This command line utility looks up a 4-digit short dialing code + * in ThemWi number database and reports its status: not defined, + * ITN or mapping to NANP. + */ + +#include +#include +#include + +main(argc, argv) + char **argv; +{ + char nanp[11]; + int res; + + if (argc != 2) { +usage: fprintf(stderr, "usage: %s 4-digit-number\n", argv[0]); + exit(1); + } + if (grok_number_string(argv[1], 0) != 4) + goto usage; + openlog("themwi-short-dial", 0, LOG_LOCAL5); + if (read_number_db() < 0) { + fprintf(stderr, "error reading number database\n"); + exit(1); + } + res = lookup_short_dial_number(argv[1], nanp); + if (!res) + printf("Short number %s is not defined\n", argv[1]); + else if (nanp[0]) + printf("Short number %s maps to +1-%.3s-%.3s-%s\n", argv[1], + nanp, nanp+3, nanp+6); + else + printf("Short number %s is an ITN\n", argv[1]); + exit(0); +}