svn commit: samba r24380 - in branches/SAMBA_3_0_25/source/libsmb: .

derrell at samba.org derrell at samba.org
Mon Aug 13 18:07:50 GMT 2007


Author: derrell
Date: 2007-08-13 18:07:48 +0000 (Mon, 13 Aug 2007)
New Revision: 24380

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=24380

Log:

- Apply patch from SATOH Fumiyasu to fix bug 4750.  smbc_telldir_ctx() was not
  returning a value useful to smbc_lseekdir_ctx().

Derrell

Modified:
   branches/SAMBA_3_0_25/source/libsmb/libsmbclient.c


Changeset:
Modified: branches/SAMBA_3_0_25/source/libsmb/libsmbclient.c
===================================================================
--- branches/SAMBA_3_0_25/source/libsmb/libsmbclient.c	2007-08-13 18:07:26 UTC (rev 24379)
+++ branches/SAMBA_3_0_25/source/libsmb/libsmbclient.c	2007-08-13 18:07:48 UTC (rev 24380)
@@ -3445,8 +3445,6 @@
 smbc_telldir_ctx(SMBCCTX *context,
                  SMBCFILE *dir)
 {
-	off_t ret_val; /* Squash warnings about cast */
-
 	if (!context || !context->internal ||
 	    !context->internal->_initialized) {
 
@@ -3469,12 +3467,16 @@
 
 	}
 
+        /* See if we're already at the end. */
+        if (dir->dir_next == NULL) {
+                /* We are. */
+                return -1;
+        }
+
 	/*
 	 * We return the pointer here as the offset
 	 */
-	ret_val = (off_t)(long)dir->dir_next;
-	return ret_val;
-
+        return (off_t)(long)dir->dir_next->dirent;
 }
 
 /*
@@ -3545,6 +3547,11 @@
 
 	}
 
+        if (offset == -1) {     /* Seek to the end of the list */
+                dir->dir_next = NULL;
+                return 0;
+        }
+
 	/* Now, run down the list and make sure that the entry is OK       */
 	/* This may need to be changed if we change the format of the list */
 



More information about the samba-cvs mailing list