diff options
Diffstat (limited to 'src/tools')
| -rw-r--r-- | src/tools/irm/irm_ipcp_connect.c | 30 | ||||
| -rw-r--r-- | src/tools/irm/irm_ipcp_disconnect.c | 30 | 
2 files changed, 34 insertions, 26 deletions
| diff --git a/src/tools/irm/irm_ipcp_connect.c b/src/tools/irm/irm_ipcp_connect.c index 42c07354..0b377dce 100644 --- a/src/tools/irm/irm_ipcp_connect.c +++ b/src/tools/irm/irm_ipcp_connect.c @@ -45,15 +45,15 @@  #include <stdlib.h>  #include <string.h> -#define DT      "dt" -#define MGMT    "mgmt" +#define DT   "dt" +#define MGMT "mgmt"  static void usage(void)  {          printf("Usage: irm ipcp connect\n"                 "                name      <ipcp name>\n" -               "                component [COMPONENT]\n" -               "                dst       <name of destination IPCP>\n\n" +               "                dst       <name of destination IPCP>\n" +               "                [component [COMPONENT]]\n\n"                 "where COMPONENT = {" DT " " MGMT "}\n");  } @@ -62,7 +62,8 @@ int do_connect_ipcp(int     argc,  {          char *             ipcp = NULL;          char *             dst  = NULL; -        char *             comp = NULL; +        char *             comp = "*"; +        char *             component = NULL;          struct ipcp_info * ipcps;          ssize_t            len  = 0;          pid_t              pid  = -1; @@ -77,7 +78,7 @@ int do_connect_ipcp(int     argc,                          comp = *(argv + 1);                  } else {                          printf("\"%s\" is unknown, try \"irm " -                               "ipcpi connect\".\n", *argv); +                               "ipcp connect\".\n", *argv);                          return -1;                  } @@ -100,14 +101,17 @@ int do_connect_ipcp(int     argc,          if (pid == -1)                  return -1; -        if (!strcmp(comp, DT)) -                comp = DT_COMP; - -        if (!strcmp(comp , MGMT)) -                comp = MGMT_COMP; +        if (wildcard_match(comp, MGMT) == 0) { +                component = MGMT_COMP; +                if (irm_connect_ipcp(pid, dst, component)) +                        return -1; +        } -        if (irm_connect_ipcp(pid, dst, comp)) -                return -1; +        if (wildcard_match(comp, DT) == 0) { +                component = DT_COMP; +                if (irm_connect_ipcp(pid, dst, component)) +                        return -1; +        }          return 0;  } diff --git a/src/tools/irm/irm_ipcp_disconnect.c b/src/tools/irm/irm_ipcp_disconnect.c index 73f1588d..c54bfdc3 100644 --- a/src/tools/irm/irm_ipcp_disconnect.c +++ b/src/tools/irm/irm_ipcp_disconnect.c @@ -45,15 +45,15 @@  #include <stdlib.h>  #include <string.h> -#define DT      "dt" -#define MGMT    "mgmt" +#define DT   "dt" +#define MGMT "mgmt"  static void usage(void)  {          printf("Usage: irm ipcp disconnect\n"                 "                name      <ipcp name>\n" -               "                component [COMPONENT]\n" -               "                dst       <name of destination IPCP>\n\n" +               "                dst       <name of destination IPCP>\n" +               "                [component [COMPONENT]]\n\n"                 "where COMPONENT = {" DT " " MGMT "}\n");  } @@ -62,7 +62,8 @@ int do_disconnect_ipcp(int     argc,  {          char *             ipcp = NULL;          char *             dst  = NULL; -        char *             comp = NULL; +        char *             comp = "*"; +        char *             component = NULL;          struct ipcp_info * ipcps;          ssize_t            len  = 0;          pid_t              pid  = -1; @@ -77,7 +78,7 @@ int do_disconnect_ipcp(int     argc,                          comp = *(argv + 1);                  } else {                          printf("\"%s\" is unknown, try \"irm " -                               "ipcpi connect\".\n", *argv); +                               "ipcp connect\".\n", *argv);                          return -1;                  } @@ -100,14 +101,17 @@ int do_disconnect_ipcp(int     argc,          if (pid == -1)                  return -1; -        if (!strcmp(comp, DT)) -                comp = DT_COMP; - -        if (!strcmp(comp , MGMT)) -                comp = MGMT_COMP; +        if (wildcard_match(comp, DT) == 0) { +                component = DT_COMP; +                if (irm_disconnect_ipcp(pid, dst, component)) +                        return -1; +        } -        if (irm_disconnect_ipcp(pid, dst, comp)) -                return -1; +        if (wildcard_match(comp, MGMT) == 0) { +                component = MGMT_COMP; +                if (irm_disconnect_ipcp(pid, dst, component)) +                        return -1; +        }          return 0;  } | 
