- p = strrchr(hdrfn, '.');
- my_assert_not(p, NULL);
- p2 = strrchr(hdrfn, '/');
- if (p2++ == NULL)
- p2 = hdrfn;
- l = p - p2;
- my_assert((unsigned int)l < 256, 1);
- memcpy(basename, p2, l);
- basename[l] = 0;
+ if (basename[0] == 0) {
+ p = strrchr(hdrfn, '.');
+ my_assert_not(p, NULL);
+ p2 = strrchr(hdrfn, '/');
+ if (p2++ == NULL)
+ p2 = hdrfn;
+ l = p - p2;
+ my_assert((unsigned int)l < 256, 1);
+ memcpy(basename, p2, l);
+ basename[l] = 0;
+ }