FreeCalypso > hg > themwi-system-sw
changeset 13:26b98505684e
themwi-check-own utility written, compiles
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sun, 26 Jun 2022 14:17:26 -0800 |
parents | 6560915b0d27 |
children | aea422af79dd |
files | .hgignore utils/Makefile utils/themwi-check-own.c |
diffstat | 3 files changed, 41 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/.hgignore Sun Jun 26 13:52:29 2022 -0800 +++ b/.hgignore Sun Jun 26 14:17:26 2022 -0800 @@ -2,5 +2,6 @@ \.[oa]$ +^utils/themwi-check-own$ ^utils/themwi-dump-numdb$ ^utils/themwi-update-numdb$
--- a/utils/Makefile Sun Jun 26 13:52:29 2022 -0800 +++ b/utils/Makefile Sun Jun 26 14:17:26 2022 -0800 @@ -1,11 +1,15 @@ CC= gcc CFLAGS= -O2 -PROGS= themwi-dump-numdb themwi-update-numdb +PROGS= themwi-check-own themwi-dump-numdb themwi-update-numdb +LIBNUMDB=../libnumdb/libnumdb.a LIBUTIL=../libutil/libutil.a INSTBIN=/usr/local/bin all: ${PROGS} +themwi-check-own: themwi-check-own.o ${LIBNUMDB} ${LIBUTIL} + ${CC} ${CFLAGS} -o $@ $@.o ${LIBNUMDB} ${LIBUTIL} + themwi-dump-numdb: themwi-dump-numdb.c ${CC} ${CFLAGS} -o $@ $@.c
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/utils/themwi-check-own.c Sun Jun 26 14:17:26 2022 -0800 @@ -0,0 +1,35 @@ +/* + * This utility performs a lookup in ThemWi number database to see + * if a given NANP number is owned by us. + */ + +#include <stdio.h> +#include <stdlib.h> +#include <syslog.h> + +main(argc, argv) + char **argv; +{ + char nanp[11]; + + if (argc != 2) { +usage: fprintf(stderr, "usage: %s 10-digit-number\n", argv[0]); + exit(1); + } + if (grok_number_string(argv[1], 1) != 10) + goto usage; + dehyphen_number_string(argv[1], nanp); + if (!is_nanp_valid_prefix(nanp)) { + fprintf(stderr, "error: number violates NANP rules\n"); + exit(1); + } + openlog("themwi-check-own", 0, LOG_LOCAL5); + if (read_number_db() < 0) { + fprintf(stderr, "error reading number database\n"); + exit(1); + } + printf("+1-%.3s-%.3s-%s is %s\n", nanp, nanp+3, nanp+6, + is_nanp_locally_owned(nanp) ? "locally owned" + : "NOT owned by us"); + exit(0); +}