Print this page




 109         if (n_flag && !a_flag) {
 110                 usage();
 111                 exit(1);
 112         }
 113 
 114         argsleft = argc - optind;
 115 
 116         if (a_flag && (argsleft == 0)) {
 117                 /*
 118                  * the easiest way to get the complete arp table
 119                  * is to let netstat, which prints it as part of
 120                  * the MIB statistics, do it.
 121                  */
 122                 char netstat_path[MAXPATHLEN];
 123                 const char *zroot = zone_get_nroot();
 124                 (void) snprintf(netstat_path, sizeof (netstat_path), "%s%s", zroot != NULL ?
 125                     zroot : "", "/usr/bin/netstat");
 126                 (void) execl(netstat_path, "netstat",
 127                     (n_flag ? "-np" : "-p"),
 128                     "-f", "inet", (char *)0);
 129                 (void) fprintf(stderr, "failed to exec netstat: %s\n",
 130                     strerror(errno));
 131                 exit(1);
 132 
 133         } else if (s_flag && (argsleft >= 2)) {
 134                 if (set(argsleft, &argv[optind]) != 0)
 135                         exit(1);
 136 
 137         } else if (d_flag && (argsleft == 1)) {
 138                 delete(argv[optind]);
 139 
 140         } else if (f_flag && (argsleft == 1)) {
 141                 if (file(argv[optind]) != 0)
 142                         exit(1);
 143 
 144         } else if ((nflags == 0) && (argsleft == 1)) {
 145                 get(argv[optind]);
 146 
 147         } else {
 148                 usage();
 149                 exit(1);
 150         }




 109         if (n_flag && !a_flag) {
 110                 usage();
 111                 exit(1);
 112         }
 113 
 114         argsleft = argc - optind;
 115 
 116         if (a_flag && (argsleft == 0)) {
 117                 /*
 118                  * the easiest way to get the complete arp table
 119                  * is to let netstat, which prints it as part of
 120                  * the MIB statistics, do it.
 121                  */
 122                 char netstat_path[MAXPATHLEN];
 123                 const char *zroot = zone_get_nroot();
 124                 (void) snprintf(netstat_path, sizeof (netstat_path), "%s%s", zroot != NULL ?
 125                     zroot : "", "/usr/bin/netstat");
 126                 (void) execl(netstat_path, "netstat",
 127                     (n_flag ? "-np" : "-p"),
 128                     "-f", "inet", (char *)0);
 129                 (void) fprintf(stderr, "failed to exec %s: %s\n",
 130                     netstat_path, strerror(errno));
 131                 exit(1);
 132 
 133         } else if (s_flag && (argsleft >= 2)) {
 134                 if (set(argsleft, &argv[optind]) != 0)
 135                         exit(1);
 136 
 137         } else if (d_flag && (argsleft == 1)) {
 138                 delete(argv[optind]);
 139 
 140         } else if (f_flag && (argsleft == 1)) {
 141                 if (file(argv[optind]) != 0)
 142                         exit(1);
 143 
 144         } else if ((nflags == 0) && (argsleft == 1)) {
 145                 get(argv[optind]);
 146 
 147         } else {
 148                 usage();
 149                 exit(1);
 150         }