Author: tridge Date: 2006-09-14 02:37:00 +0000 (Thu, 14 Sep 2006) New Revision: 18493
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=18493 Log: another "blind coding" attempt at a getdirentries() based readdir() replacement Modified: branches/SAMBA_4_0/source/lib/replace/repdir_getdirentries.c Changeset: Modified: branches/SAMBA_4_0/source/lib/replace/repdir_getdirentries.c =================================================================== --- branches/SAMBA_4_0/source/lib/replace/repdir_getdirentries.c 2006-09-14 02:25:57 UTC (rev 18492) +++ branches/SAMBA_4_0/source/lib/replace/repdir_getdirentries.c 2006-09-14 02:37:00 UTC (rev 18493) @@ -91,7 +91,9 @@ struct dirent *de; if (d->ofs >= d->nbytes) { - d->nbytes = getdirentries(d->fd, d->buf, DIR_BUF_SIZE, &d->seekpos); + long pos; + d->nbytes = getdirentries(d->fd, d->buf, DIR_BUF_SIZE, &pos); + d->seekpos = pos; d->ofs = 0; } if (d->ofs >= d->nbytes) { @@ -121,8 +123,9 @@ void seekdir(DIR *dir, long ofs) { struct dir_buf *d = (struct dir_buf *)dir; + long pos; d->seekpos = lseek(d->fd, ofs & ~(DIR_BUF_SIZE-1), SEEK_SET); - d->nbytes = getdirentries(d->fd, d->buf, DIR_BUF_SIZE, &d->seekpos); + d->nbytes = getdirentries(d->fd, d->buf, DIR_BUF_SIZE, &pos); d->ofs = 0; while (d->ofs < (ofs & (DIR_BUF_SIZE-1))) { if (readdir(dir) == NULL) break;