|
@@ -607,14 +607,18 @@ function parseAddress($address, $max=0, $addr_ar = array(), $group = '', $host='
|
|
break;
|
|
break;
|
|
case ':': /* process the group addresses */
|
|
case ':': /* process the group addresses */
|
|
/* group marker */
|
|
/* group marker */
|
|
- $group = substr($address, 0, $pos);
|
|
|
|
- $address = substr($address, $pos+1);
|
|
|
|
- $result = parseAddress($address, $max, $addr_ar, $group);
|
|
|
|
- $addr_ar = $result[0];
|
|
|
|
- $pos = $result[1];
|
|
|
|
- $address = substr($address, $pos++);
|
|
|
|
- $j = strlen($address);
|
|
|
|
- $group = '';
|
|
|
|
|
|
+ if (strpos($address,';',$pos)) {
|
|
|
|
+ $group = substr($address, 0, $pos);
|
|
|
|
+ $address = substr($address, $pos+1);
|
|
|
|
+ $result = parseAddress($address, $max, $addr_ar, $group);
|
|
|
|
+ $addr_ar = $result[0];
|
|
|
|
+ $pos = $result[1];
|
|
|
|
+ $address = substr($address, $pos++);
|
|
|
|
+ $j = strlen($address);
|
|
|
|
+ $group = '';
|
|
|
|
+ } else {
|
|
|
|
+ $pos = $j;
|
|
|
|
+ }
|
|
break;
|
|
break;
|
|
default:
|
|
default:
|
|
++$pos;
|
|
++$pos;
|