home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Internet Tools 1993 July / Internet Tools.iso / RockRidge / mail / pp / pp-6.0 / Tools / misc / t-norm.c < prev    next >
Encoding:
C/C++ Source or Header  |  1991-12-18  |  1.9 KB  |  96 lines

  1. /* norm.c: test out normalisation stuff */
  2.  
  3. # ifndef lint
  4. static char Rcsid[] = "@(#)$Header: /xtel/pp/pp-beta/Tools/misc/RCS/t-norm.c,v 6.0 1991/12/18 20:30:40 jpo Rel $";
  5. # endif
  6.  
  7. /*
  8.  * $Header: /xtel/pp/pp-beta/Tools/misc/RCS/t-norm.c,v 6.0 1991/12/18 20:30:40 jpo Rel $
  9.  *
  10.  * $Log: t-norm.c,v $
  11.  * Revision 6.0  1991/12/18  20:30:40  jpo
  12.  * Release 6.0
  13.  *
  14.  */
  15.  
  16.  
  17.  
  18. #include "util.h"
  19. #include "chan.h"
  20. #include <isode/cmd_srch.h>
  21.  
  22. static CMD_TABLE   chtbl_ad_order[] = {
  23.         "usa",                  CH_USA_ONLY,
  24.         "uk",                   CH_UK_ONLY,
  25.         "usapref",              CH_USA_PREF,
  26.         "ukpref",               CH_UK_PREF,
  27.         0,                      -1
  28. };
  29.  
  30. char    *myname;
  31.  
  32. main (argc, argv)
  33. int    argc;
  34. char    **argv;
  35. {
  36.     extern char    *optarg;
  37.     extern int    optind;
  38.     int    opt;
  39.     int    i;
  40.     int    type = CH_USA_PREF;
  41.     int    all_types = 0;
  42.  
  43.     myname = argv[0];
  44.     sys_init (myname);
  45.  
  46.     while((opt = getopt(argc, argv, "at:")) != EOF)
  47.         switch (opt) {
  48.             case 'a':
  49.             all_types = 1;
  50.             break;
  51.             case 't':
  52.             i = cmd_srch (optarg, chtbl_ad_order);
  53.             if (i != -1)
  54.                 type = i;
  55.             else    fprintf (stderr, "Bad type %s\n", optarg);
  56.             break;
  57.             default:
  58.             fprintf (stderr, "Usage: %s [-a] [-t type] domain", myname);
  59.             break;
  60.         }
  61.     argc -= optind;
  62.     argv += optind;
  63.  
  64.     for (i = 0; i < argc; i++) {
  65.         if (all_types) {
  66.             CMD_TABLE *cp;
  67.  
  68.             for (cp = chtbl_ad_order; cp -> cmd_key; cp ++)
  69.                 do_domain (argv[i], cp -> cmd_value);
  70.         }
  71.         else
  72.             do_domain (argv[i], type);
  73.     }
  74.     exit (0);
  75. }
  76.  
  77. do_domain (str, type)
  78. char    *str;
  79. int    type;
  80. {
  81.     char    chanbuf[BUFSIZ];
  82.     char    normalised[BUFSIZ];
  83.     char    *subdom = NULLCP;
  84.     printf ("Domain %s (type %s) -> ",
  85.         str, rcmd_srch (type, chtbl_ad_order));
  86.     if (tb_getdomain (str, chanbuf, normalised, type, &subdom) == NOTOK)
  87.         printf ("failed\n");
  88.     else {
  89.         printf ("normalised=%s chan=%s\n", normalised, chanbuf);
  90.         if (subdom != NULLCP) {
  91.             printf ("loacl subdomain=%s\n", subdom);
  92.             free(subdom);
  93.         }
  94.     }
  95. }
  96.