From: Takashi Iwai Date: Wed, 11 Jul 2001 14:18:38 +0000 (+0000) Subject: Improved parse_address to accept the string without a port number X-Git-Tag: v1.0.3~744 X-Git-Url: https://git.alsa-project.org/?a=commitdiff_plain;h=f1c0e964dd524ffa063def3633e09a4db6a71e30;p=alsa-lib.git Improved parse_address to accept the string without a port number --- diff --git a/src/seq/seqmid.c b/src/seq/seqmid.c index a1a6d0d8..a3bf89e5 100644 --- a/src/seq/seqmid.c +++ b/src/seq/seqmid.c @@ -324,13 +324,18 @@ int snd_seq_parse_address(snd_seq_t *seq, snd_seq_addr_t *addr, const char *arg) { char *p; int client, port; + int len; assert(seq && addr && arg); - if ((p = strpbrk(arg, ":.")) == NULL) - return -EINVAL; - if ((port = atoi(p + 1)) < 0) - return -EINVAL; + if ((p = strpbrk(arg, ":.")) != NULL) { + if ((port = atoi(p + 1)) < 0) + return -EINVAL; + len = (int)(p - arg); /* length of client name */ + } else { + port = 0; + len = strlen(arg); + } addr->port = port; if (isdigit(*arg)) { client = atoi(arg); @@ -343,7 +348,6 @@ int snd_seq_parse_address(snd_seq_t *seq, snd_seq_addr_t *addr, const char *arg) int len; *p = 0; - len = (int)(p - arg); /* length of client name */ if (len <= 0) return -EINVAL; cinfo.client = -1;