/* Check if we need to free (or release) dir structures */
} else
return dsidx - 1;
- } // while
+ }
return -1;
} /* reducestack() */
/* Fill offset of returned file name */
if (savefname != NULL) {
- *p++ = 0;
- *p++ = (int)(p - *rbuf) - 1;
+ *p = 0;
+ p += 1;
+ *p = (int)(p - *rbuf) - 1;
+ p += 1;
p[0] = l;
strcpy(p+1, savefname);
p += l + 1;
*rbuf = p;
/* *rbuf[0] = (int)(p-*rbuf); */
- free (savefname);
+ if (savefname != NULL)
+ free (savefname);
return 1;
} /* rslt_add */