From f1c0e964dd524ffa063def3633e09a4db6a71e30 Mon Sep 17 00:00:00 2001 From: Takashi Iwai Date: Wed, 11 Jul 2001 14:18:38 +0000 Subject: [PATCH] Improved parse_address to accept the string without a port number --- src/seq/seqmid.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) 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; -- 2.47.3