home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD2.mdf / c / library / dos / communic / fidoadr / fatest.c next >
Encoding:
C/C++ Source or Header  |  1992-03-07  |  1.6 KB  |  64 lines

  1. #include <stdio.h>
  2.  
  3. #include "fidoadr.h"
  4.  
  5. void main(int argc, char **argv)
  6. {
  7.     FILE *infil;
  8.     FIDOADR fadr;
  9.     char *p;
  10.     word net, node;
  11.     char addr[32], addr2[32];
  12.  
  13.     printf("FIDOADR routines test program - David H. Bennett - 3/7/92 - V 1.0\n\n");
  14.  
  15.     if (argc == 1) infil = stdin;
  16.     else infil = fopen(argv[1], "rt");
  17.  
  18.     printf("%-32s %5s %5s %5s %5s %s\n","string","zone","net","node","point","domain");
  19.     printf("------------------------------------------------------------------\n");
  20.     while (!feof(infil)) {
  21.  
  22.         fgets(addr, 80, infil);
  23.         p = &(addr[strlen(addr)-1]);
  24.         if (*p == '\n') *p = '\0';
  25.  
  26.         fidoadr_split(addr, &fadr);
  27.  
  28.         printf("%-32s %5d %5d %5d %5d %s\n",addr,fadr.zone,fadr.net,fadr.node,fadr.point,fadr.domain);
  29.     }
  30.     putchar('\n');
  31.  
  32.     /*
  33.      * Second portion
  34.      */
  35.     rewind(infil);
  36.  
  37.     printf("%-32s %-32s\n","in address","out address");
  38.     printf("------------------------------------------------------------------\n");
  39.     while (!feof(infil)) {
  40.  
  41.         fgets(addr, 80, infil);
  42.         p = &(addr[strlen(addr)-1]);
  43.         if (*p == '\n') *p = '\0';
  44.  
  45.         fidoadr_split(addr, &fadr);
  46.         fidoadr_merge(addr2, &fadr);
  47.  
  48.         printf("%-32s %-32s\n", addr, addr2);
  49.     }
  50.     putchar('\n');
  51.  
  52.     /*
  53.      * Test the hex functions
  54.      */
  55.     strcpy(addr, "01180133");
  56.     hexadr_split(addr, &net, &node);
  57.     printf("hexadr_split : %s -> %u %u\n", addr, net, node);
  58.  
  59.     *addr = '\0';
  60.     hexadr_merge(addr, net, node);
  61.     printf("hexadr_merge : %u %u -> %s\n", net, node, addr);
  62. }
  63.  
  64.