- pn->office = (p = strsep((char *)NULL, ",")) ? strdup(p) : NULL;
- pn->officephone = (p = strsep((char *)NULL, ",")) ? strdup(p) : NULL;
- pn->homephone = (p = strsep((char *)NULL, ",")) ? strdup(p) : NULL;
+ pn->office = ((p = strsep((char *)NULL, ",")) && *p) ?
+ strdup(p) : NULL;
+ pn->officephone = ((p = strsep((char *)NULL, ",")) && *p) ?
+ strdup(p) : NULL;
+ pn->homephone = ((p = strsep((char *)NULL, ",")) && *p) ?
+ strdup(p) : NULL;