10516,10517c10516,10517 < char foundry[32], family[32], cs[32]; < char xf[255], *result, *p; --- > char foundry[32], family[31*2+1], cs[32], tmpfamily[32]; > char xf[255], *result, *p, *q; 10519c10519 < if (sscanf (name, "%31[^-]-%31[^-]-%31s", foundry, family, cs) != 3) --- > if (sscanf (name, "%31[^-]-%31[^-]-%31s", foundry, tmpfamily, cs) != 3) 10522c10522 < strcpy(family, name); --- > strcpy(tmpfamily, name); 10552a10553,10563 > for(p = tmpfamily, q = family; *p != '\0'; p++) > if(*p == '-') > *q++ = '/'; > else > { > if(*p == '/') > *q++ = '/'; > *q++ = *p; > } > *q = '\0'; > 10575a10587 > char *p, *q; 10583a10596,10605 > > for(p = q = family; *p != '\0'; p++, q++) > if(*p == '/') > if(*(p + 1) == '/') > *q = *(++p); > else > *q = '-'; > else > *q = *p; > *q = '\0';