home *** CD-ROM | disk | FTP | other *** search
/ rtsi.com / 2014.01.www.rtsi.com.tar / www.rtsi.com / OS9 / OSK / TELECOM / UUCPbb_2_1_src.lzh / UUCPBB21 / uuname.c < prev    next >
Text File  |  1994-09-25  |  3KB  |  113 lines

  1. /*  uuname.c   Return name of local machine or those of UUCP sites we talk to.
  2.     Copyright (C) 1994 Bob Billson
  3.  
  4.     This file is part of the OS-9 UUCP package, UUCPbb.
  5.  
  6.     This program is free software; you can redistribute it and/or modify
  7.     it under the terms of the GNU General Public License as published by
  8.     the Free Software Foundation; either version 2 of the License, or
  9.     (at your option) any later version.
  10.  
  11.     This program is distributed in the hope that it will be useful,
  12.     but WITHOUT ANY WARRANTY; without even the implied warranty of
  13.     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  14.     GNU General Public License for more details.
  15.  
  16.     You should have received a copy of the GNU General Public License
  17.     along with this program; if not, write to the Free Software
  18.     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  19.  
  20.     The author of UUCPbb, Bob Billson, can be contacted at:
  21.     bob@kc2wz.bubble.org  or  uunet!kc2wz!bob  or  by snail mail:
  22.     21 Bates Way, Westfield, NJ 07090
  23. */
  24.  
  25. #include "uucp.h"
  26.  
  27. char buf[256];
  28. void showlocalname(), showsystems(), fatal(), usage();
  29.  
  30.  
  31. main (argc, argv)
  32. int argc;
  33. char *argv[];
  34. {
  35.      if (argc == 1)
  36.           showsystems();
  37.      else if (argv[1][0] == '-'  && argv[1][1] == 'l')
  38.           showlocalname();
  39.      else
  40.           usage();
  41. }
  42.  
  43.  
  44.  
  45. void showlocalname()
  46. {
  47.      FILE *fp;
  48.      register char *p;
  49.      char *nptr;
  50.  
  51.      p = buf;
  52.      sprintf (p, "%s/Parameters", UUCPSYS);
  53.  
  54.      if ((fp = fopen (p, "r")) == NULL)
  55.           fatal ("cannot open Parameters file");
  56.  
  57.      while (mfgets (p, sizeof (buf), fp) != NULL)
  58.           if ( !ISCOMMENT (*p) )
  59.                if (strnucmp (p, "nodename = ", 11) == 0)
  60.                  {
  61.                     nptr = strchr (p, '=');
  62.                     puts ((nptr+2));
  63.                  }
  64.      fclose (fp);
  65. }
  66.  
  67.  
  68.  
  69. void showsystems()
  70. {
  71.      char *words[3];
  72.      FILE *fp;
  73.      register char *p;
  74.      int n;
  75.  
  76.      if ((fp = fopen (SYSTEMS, "r")) == NULL)
  77.           fatal ("cannot open Systems file");
  78.  
  79.      p = buf;
  80.      while (mfgets (p, sizeof (buf), fp) != NULL)
  81.           if ( !ISCOMMENT (*p) )
  82.                if ((n = getargs (words, buf, 3)) == 3)
  83.                     puts (*words);
  84.      fclose (fp);
  85. }
  86.  
  87.  
  88.  
  89. void fatal (msg)
  90. char *msg;
  91. {
  92.      fprintf (stderr, "uuname: %s...error %d\n", msg, errno);
  93.      exit (0);
  94. }
  95.  
  96.  
  97.  
  98. void usage()
  99. {
  100.      register char **help;
  101.      static char *helptxt[] = {
  102.             "uuname --show local machine name or those of UUCP sites we talk to",
  103.             "Usage:  uuname [-l]\n",
  104.             "           -l   show name of this machine\n",
  105.             NULL
  106.          };
  107.  
  108.      for (help = helptxt; *help != NULL; ++help)
  109.           fprintf (stderr, "%s\n", *help);
  110.  
  111.      exit (0);
  112. }
  113.