BSD 4_3_Net_2 release
[unix-history] / usr / src / usr.sbin / amd / amq / amq.c
index dc444a1..02cc97b 100644 (file)
@@ -1,6 +1,4 @@
 /*
 /*
- * $Id: amq.c,v 5.2.1.3 91/03/17 17:33:42 jsp Alpha $
- *
  * Copyright (c) 1990 Jan-Simon Pendry
  * Copyright (c) 1990 Imperial College of Science, Technology & Medicine
  * Copyright (c) 1990 The Regents of the University of California.
  * Copyright (c) 1990 Jan-Simon Pendry
  * Copyright (c) 1990 Imperial College of Science, Technology & Medicine
  * Copyright (c) 1990 The Regents of the University of California.
@@ -9,7 +7,38 @@
  * This code is derived from software contributed to Berkeley by
  * Jan-Simon Pendry at Imperial College, London.
  *
  * This code is derived from software contributed to Berkeley by
  * Jan-Simon Pendry at Imperial College, London.
  *
- * %sccs.include.redist.c%
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ *    must display the following acknowledgement:
+ *     This product includes software developed by the University of
+ *     California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ *    may be used to endorse or promote products derived from this software
+ *    without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ *     @(#)amq.c       5.3 (Berkeley) 5/12/91
+ *
+ * $Id: amq.c,v 5.2.1.5 91/05/07 22:18:45 jsp Alpha $
+ *
  */
 
 /*
  */
 
 /*
@@ -25,8 +54,8 @@ char copyright[] = "\
 #endif /* not lint */
 
 #ifndef lint
 #endif /* not lint */
 
 #ifndef lint
-static char rcsid[] = "$Id: amq.c,v 5.2.1.3 91/03/17 17:33:42 jsp Alpha $";
-static char sccsid[] = "@(#)amq.c      5.2 (Berkeley) %G%";
+static char rcsid[] = "$Id: amq.c,v 5.2.1.5 91/05/07 22:18:45 jsp Alpha $";
+static char sccsid[] = "@(#)amq.c      5.3 (Berkeley) 5/12/91";
 #endif /* not lint */
 
 #include "am.h"
 #endif /* not lint */
 
 #include "am.h"
@@ -359,13 +388,19 @@ Usage: %s [-h host] [[-f] [-m] [-v] [-s]] | [[-u] directory ...]] |\n\
        /*
         * Get address of server
         */
        /*
         * Get address of server
         */
-       if ((hp = gethostbyname(server)) == 0) {
+       if ((hp = gethostbyname(server)) == 0 && strcmp(server, localhost) != 0) {
                fprintf(stderr, "%s: Can't get address of %s\n", progname, server);
                exit(1);
        }
        bzero(&server_addr, sizeof server_addr);
        server_addr.sin_family = AF_INET;
                fprintf(stderr, "%s: Can't get address of %s\n", progname, server);
                exit(1);
        }
        bzero(&server_addr, sizeof server_addr);
        server_addr.sin_family = AF_INET;
-       bcopy((voidp) hp->h_addr, (voidp) &server_addr.sin_addr, sizeof(server_addr.sin_addr));
+       if (hp) {
+               bcopy((voidp) hp->h_addr, (voidp) &server_addr.sin_addr,
+                       sizeof(server_addr.sin_addr));
+       } else {
+               /* fake "localhost" */
+               server_addr.sin_addr.s_addr = htonl(0x7f000001);
+       }
 
        /*
         * Create RPC endpoint
 
        /*
         * Create RPC endpoint
@@ -485,7 +520,7 @@ Usage: %s [-h host] [[-f] [-m] [-v] [-s]] | [[-u] directory ...]] |\n\
                        printf("%s.\n", *spp);
                        free(*spp);
                } else {
                        printf("%s.\n", *spp);
                        free(*spp);
                } else {
-                       fprintf(stderr, "%s: failed to get version infromation\n", progname);
+                       fprintf(stderr, "%s: failed to get version information\n", progname);
                        errs = 1;
                }
        }
                        errs = 1;
                }
        }