annotate utils/themwi-short-dial.c @ 267:81958b35f74d

NANP validation: allow made-up area codes of N9X form
author Mychaela Falconia <falcon@freecalypso.org>
date Mon, 13 Nov 2023 15:28:09 -0800
parents c7a3ba56c636
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
14
aea422af79dd themwi-short-dial utility written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
1 /*
aea422af79dd themwi-short-dial utility written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
2 * This command line utility looks up a 4-digit short dialing code
aea422af79dd themwi-short-dial utility written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
3 * in ThemWi number database and reports its status: not defined,
aea422af79dd themwi-short-dial utility written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
4 * ITN or mapping to NANP.
aea422af79dd themwi-short-dial utility written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
5 */
aea422af79dd themwi-short-dial utility written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
6
aea422af79dd themwi-short-dial utility written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
7 #include <stdio.h>
239
19d1c39ae4e7 themwi-short-dial: convert to libnumdb2
Mychaela Falconia <falcon@freecalypso.org>
parents: 14
diff changeset
8 #include <stdint.h>
14
aea422af79dd themwi-short-dial utility written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
9 #include <stdlib.h>
aea422af79dd themwi-short-dial utility written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
10 #include <syslog.h>
239
19d1c39ae4e7 themwi-short-dial: convert to libnumdb2
Mychaela Falconia <falcon@freecalypso.org>
parents: 14
diff changeset
11 #include "../include/number_db_v2.h"
19d1c39ae4e7 themwi-short-dial: convert to libnumdb2
Mychaela Falconia <falcon@freecalypso.org>
parents: 14
diff changeset
12 #include "../libnumdb2/lookup_func.h"
14
aea422af79dd themwi-short-dial utility written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
13
aea422af79dd themwi-short-dial utility written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
14 main(argc, argv)
aea422af79dd themwi-short-dial utility written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
15 char **argv;
aea422af79dd themwi-short-dial utility written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
16 {
239
19d1c39ae4e7 themwi-short-dial: convert to libnumdb2
Mychaela Falconia <falcon@freecalypso.org>
parents: 14
diff changeset
17 struct short_number_rec *rec;
14
aea422af79dd themwi-short-dial utility written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
18
aea422af79dd themwi-short-dial utility written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
19 if (argc != 2) {
aea422af79dd themwi-short-dial utility written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
20 usage: fprintf(stderr, "usage: %s 4-digit-number\n", argv[0]);
aea422af79dd themwi-short-dial utility written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
21 exit(1);
aea422af79dd themwi-short-dial utility written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
22 }
aea422af79dd themwi-short-dial utility written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
23 if (grok_number_string(argv[1], 0) != 4)
aea422af79dd themwi-short-dial utility written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
24 goto usage;
aea422af79dd themwi-short-dial utility written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
25 openlog("themwi-short-dial", 0, LOG_LOCAL5);
aea422af79dd themwi-short-dial utility written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
26 if (read_number_db() < 0) {
aea422af79dd themwi-short-dial utility written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
27 fprintf(stderr, "error reading number database\n");
aea422af79dd themwi-short-dial utility written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
28 exit(1);
aea422af79dd themwi-short-dial utility written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
29 }
239
19d1c39ae4e7 themwi-short-dial: convert to libnumdb2
Mychaela Falconia <falcon@freecalypso.org>
parents: 14
diff changeset
30 rec = numdb_lookup_short(argv[1]);
19d1c39ae4e7 themwi-short-dial: convert to libnumdb2
Mychaela Falconia <falcon@freecalypso.org>
parents: 14
diff changeset
31 if (!rec) {
14
aea422af79dd themwi-short-dial utility written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
32 printf("Short number %s is not defined\n", argv[1]);
239
19d1c39ae4e7 themwi-short-dial: convert to libnumdb2
Mychaela Falconia <falcon@freecalypso.org>
parents: 14
diff changeset
33 exit(0);
19d1c39ae4e7 themwi-short-dial: convert to libnumdb2
Mychaela Falconia <falcon@freecalypso.org>
parents: 14
diff changeset
34 }
19d1c39ae4e7 themwi-short-dial: convert to libnumdb2
Mychaela Falconia <falcon@freecalypso.org>
parents: 14
diff changeset
35 switch (rec->short_num_type) {
19d1c39ae4e7 themwi-short-dial: convert to libnumdb2
Mychaela Falconia <falcon@freecalypso.org>
parents: 14
diff changeset
36 case SHORT_NUM_TYPE_ABBREV:
19d1c39ae4e7 themwi-short-dial: convert to libnumdb2
Mychaela Falconia <falcon@freecalypso.org>
parents: 14
diff changeset
37 printf("Short number %s is abbrev for +1-%03u-%03u-%04u\n",
240
c7a3ba56c636 themwi-short-dial: fix bug in printf arguments
Mychaela Falconia <falcon@freecalypso.org>
parents: 239
diff changeset
38 argv[1], rec->fullnum_prefix[0], rec->fullnum_prefix[1],
239
19d1c39ae4e7 themwi-short-dial: convert to libnumdb2
Mychaela Falconia <falcon@freecalypso.org>
parents: 14
diff changeset
39 rec->short_num);
19d1c39ae4e7 themwi-short-dial: convert to libnumdb2
Mychaela Falconia <falcon@freecalypso.org>
parents: 14
diff changeset
40 break;
19d1c39ae4e7 themwi-short-dial: convert to libnumdb2
Mychaela Falconia <falcon@freecalypso.org>
parents: 14
diff changeset
41 case SHORT_NUM_TYPE_ITN:
14
aea422af79dd themwi-short-dial utility written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
42 printf("Short number %s is an ITN\n", argv[1]);
239
19d1c39ae4e7 themwi-short-dial: convert to libnumdb2
Mychaela Falconia <falcon@freecalypso.org>
parents: 14
diff changeset
43 break;
19d1c39ae4e7 themwi-short-dial: convert to libnumdb2
Mychaela Falconia <falcon@freecalypso.org>
parents: 14
diff changeset
44 case SHORT_NUM_TYPE_TEST_SINK:
19d1c39ae4e7 themwi-short-dial: convert to libnumdb2
Mychaela Falconia <falcon@freecalypso.org>
parents: 14
diff changeset
45 printf("Short number %s is a test sink\n", argv[1]);
19d1c39ae4e7 themwi-short-dial: convert to libnumdb2
Mychaela Falconia <falcon@freecalypso.org>
parents: 14
diff changeset
46 break;
19d1c39ae4e7 themwi-short-dial: convert to libnumdb2
Mychaela Falconia <falcon@freecalypso.org>
parents: 14
diff changeset
47 default:
19d1c39ae4e7 themwi-short-dial: convert to libnumdb2
Mychaela Falconia <falcon@freecalypso.org>
parents: 14
diff changeset
48 printf("Short number %s has unknown type 0x%02X\n", argv[1],
19d1c39ae4e7 themwi-short-dial: convert to libnumdb2
Mychaela Falconia <falcon@freecalypso.org>
parents: 14
diff changeset
49 rec->short_num_type);
19d1c39ae4e7 themwi-short-dial: convert to libnumdb2
Mychaela Falconia <falcon@freecalypso.org>
parents: 14
diff changeset
50 }
14
aea422af79dd themwi-short-dial utility written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
51 exit(0);
aea422af79dd themwi-short-dial utility written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
52 }