home *** CD-ROM | disk | FTP | other *** search
/ HAM Radio 3 / hamradioversion3.0examsandprograms1992.iso / packet / n17jsrc / gendom.c < prev    next >
Text File  |  1990-12-11  |  1KB  |  73 lines

  1. /* Here is a program to convert your hosts.net to domain.txt */
  2. #include <stdio.h>
  3. #include <ctype.h>
  4. #include <string.h>
  5.  
  6. #define LINELEN 256
  7. /* copyright 1989 - John D. Hays, KD7UW */
  8. main(int argc,char *argv[])
  9. {
  10.  
  11.     FILE *fi,*fo;
  12.     char string[LINELEN-1];
  13.     char addr[20],hname1[80],hname2[80];
  14.     char *x,*y,*z;
  15.     int cnt;
  16.  
  17.     fprintf(stderr,"COPYRIGHT 1989 - John D. Hays, KD7UW\n");
  18.     if (argc != 3) 
  19.     {
  20.     fprintf(stderr,"Usage: %s input-hosts.net output-domain.txt\n\007",
  21.         argv[0]);
  22.     exit(0);
  23.     }
  24.  
  25.     if ((fi=fopen(argv[1],"r")) != NULL)
  26.     {
  27.         fo = fopen(argv[2],"w");
  28.         while (fgets(string,LINELEN,fi) != NULL)
  29.         {
  30.             
  31.             y = strchr(string,'\n');
  32.             *y = '\0';
  33.             addr[0] = '\0';
  34.             hname1[0] = '\0';
  35.             hname2[0] = '\0';
  36.  
  37.             if ((string[0] == '#') || (strlen(string) < 3))
  38.             {
  39.             fprintf(fo,"%s\n",string);
  40.             goto foo;
  41.             }
  42.             y = strchr(string,'#');
  43.             if (y != NULL) 
  44.             {
  45.             fprintf(fo,"#%s\n",y);
  46.             *y = '\0';
  47.             }
  48.             sscanf(string,"%s%s%s",addr,hname1,hname2);
  49.             if (strchr(hname1,'.'))
  50.             {
  51.             x = hname1;
  52.             z = hname2;
  53.             }
  54.             else
  55.             {
  56.             x = hname2;
  57.             z = hname1;
  58.             }
  59.             if ((*x == '\0') || (*z == '\0'))
  60.             {
  61.             fprintf(fo,"%s.\tIN\tA\t%s\n",hname1,addr);
  62.             }
  63.             else
  64.             {
  65.             fprintf(fo,"%s.\tIN\tA\t%s\n",x,addr);
  66.             fprintf(fo,"%s.\tIN\tCNAME\t%s.\n",z,x);
  67.             }
  68. foo:              fprintf(stderr,"%s\n",string);
  69.         }
  70.     }
  71. }
  72.  
  73.