Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/app/dnscfg/dnscfg.c

    ra2e3ee6 r5d1cb8a  
    4949static void print_syntax(void)
    5050{
    51         printf("Syntax:\n");
    52         printf("\t%s get-ns\n", NAME);
    53         printf("\t%s set-ns <server-addr>\n", NAME);
    54         printf("\t%s unset-ns\n", NAME);
     51        printf("syntax:\n");
     52        printf("\t" NAME " set-ns <server-addr>\n");
     53        printf("\t" NAME " unset-ns\n");
    5554}
    5655
    5756static int dnscfg_set_ns(int argc, char *argv[])
    5857{
     58        char *srv_addr;
     59        inet_addr_t addr;
     60        int rc;
     61
    5962        if (argc < 1) {
    60                 printf("%s: Missing arguments.\n", NAME);
     63                printf(NAME ": Missing arguments.\n");
    6164                print_syntax();
    6265                return EINVAL;
    6366        }
    64        
     67
    6568        if (argc > 1) {
    66                 printf("%s: Too many arguments.\n", NAME);
     69                printf(NAME ": Too many arguments.\n");
    6770                print_syntax();
    6871                return EINVAL;
    6972        }
    70        
    71         char *srv_addr  = argv[0];
    72        
    73         inet_addr_t addr;
    74         int rc = inet_addr_parse(srv_addr, &addr);
    75        
     73
     74        srv_addr = argv[0];
     75
     76        rc = inet_addr_parse(srv_addr, &addr);
    7677        if (rc != EOK) {
    77                 printf("%s: Invalid address format '%s'.\n", NAME, srv_addr);
    78                 return rc;
     78                printf(NAME ": Invalid address format '%s'.\n", srv_addr);
     79                return EINVAL;
    7980        }
    80        
     81
    8182        rc = dnsr_set_srvaddr(&addr);
    8283        if (rc != EOK) {
    83                 printf("%s: Failed setting nameserver address '%s' (%s)\n",
    84                     NAME, srv_addr, str_error(rc));
    85                 return rc;
     84                printf(NAME ": Failed setting server address '%s' (%s)\n",
     85                    srv_addr, str_error(rc));
     86                return EIO;
    8687        }
    87        
     88
    8889        return EOK;
    8990}
    9091
    91 static int dnscfg_unset_ns(void)
     92static int dnscfg_unset_ns(int argc, char *argv[])
    9293{
    9394        inet_addr_t addr;
    94         inet_addr_any(&addr);
    95        
    96         int rc = dnsr_set_srvaddr(&addr);
     95        int rc;
     96
     97        if (argc > 0) {
     98                printf(NAME ": Too many arguments.\n");
     99                print_syntax();
     100                return EINVAL;
     101        }
     102
     103        addr.ipv4 = 0;
     104        rc = dnsr_set_srvaddr(&addr);
    97105        if (rc != EOK) {
    98                 printf("%s: Failed unsetting server address (%s)\n",
    99                     NAME, str_error(rc));
    100                 return rc;
     106                printf(NAME ": Failed unsetting server address (%s)\n",
     107                    str_error(rc));
     108                return EIO;
    101109        }
    102        
     110
    103111        return EOK;
    104112}
     
    107115{
    108116        inet_addr_t addr;
    109         int rc = dnsr_get_srvaddr(&addr);
     117        char *addr_str;
     118        int rc;
     119
     120        rc = dnsr_get_srvaddr(&addr);
    110121        if (rc != EOK) {
    111                 printf("%s: Failed getting DNS server address.\n", NAME);
     122                printf(NAME ": Failed getting DNS server address.\n");
    112123                return rc;
    113124        }
    114        
    115         char *addr_str;
     125
    116126        rc = inet_addr_format(&addr, &addr_str);
    117127        if (rc != EOK) {
    118                 printf("%s: Out of memory.\n", NAME);
     128                printf(NAME ": Out of memory.\n");
    119129                return rc;
    120130        }
    121        
    122         printf("Nameserver: %s\n", addr_str);
     131
     132        printf("Server: %s\n", addr_str);
    123133        free(addr_str);
    124134        return EOK;
     
    127137int main(int argc, char *argv[])
    128138{
    129         if ((argc < 2) || (str_cmp(argv[1], "get-ns") == 0))
    130                 return dnscfg_print();
    131         else if (str_cmp(argv[1], "set-ns") == 0)
    132                 return dnscfg_set_ns(argc - 2, argv + 2);
    133         else if (str_cmp(argv[1], "unset-ns") == 0)
    134                 return dnscfg_unset_ns();
    135         else {
    136                 printf("%s: Unknown command '%s'.\n", NAME, argv[1]);
     139        int rc;
     140
     141        if (argc < 2) {
     142                rc = dnscfg_print();
     143                if (rc != EOK)
     144                        return 1;
     145                return 0;
     146        }
     147
     148        if (str_cmp(argv[1], "set-ns") == 0) {
     149                rc = dnscfg_set_ns(argc - 2, argv + 2);
     150                if (rc != EOK)
     151                        return 1;
     152        } else if (str_cmp(argv[1], "unset-ns") == 0) {
     153                rc = dnscfg_unset_ns(argc - 2, argv + 2);
     154                if (rc != EOK)
     155                        return 1;
     156        } else {
     157                printf(NAME ": Unknown command '%s'.\n", argv[1]);
    137158                print_syntax();
    138159                return 1;
    139160        }
    140        
     161
     162
    141163        return 0;
    142164}
Note: See TracChangeset for help on using the changeset viewer.