404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
|
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
|
-
+
|
wchar_t *wzBuf;
char *zCompBuf = 0;
char *zComp = &zBuf[i];
int cchComp;
char chSep;
int fDone;
if( IS_DIRSEP(zBuf,i) ){
zRes[ncUsed++] = zBuf[i];
if( ncUsed+2>cchRes ){ /* Directory slash + NULL*/
cchRes += 32; /* Overprovisioning. */
zRes = fossil_realloc(zRes,cchRes);
}
zRes[ncUsed++] = zBuf[i];
i = j = i+1;
continue;
}
NEXT_DIRSEP(zBuf,j);
fDone = zBuf[j]==0;
chSep = zBuf[j];
zBuf[j] = 0; /* Truncate working buffer. */
|