[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: smbclient tab completion

On Monday, Jan 3, 2005, at 14:08 US/Central, Bryan J. Smith wrote:
> I would assume a remote procedure call (RPC) would be required for a
> remote filesystem.
> NFS, SMBfs and other user space support for network filesystem kernel
> VFS mounts would provide this.  I assume smbclient does not.
> Interesting problem though, one that _might_ have a solution -- if not
> should be a hack to smbclient itself.

I would imagine it wouldn't be that hard.  You don't need to mount the 
FS at all.  Just send a query for the entire folder for the current 
listed directory, cache it (e.g. as a hash), and use the hash as the 
lookup for tab completion.  That's the quick-and-dirty method.  A 
better method would handle changes to the remote FS.

For example:
smb: \> cd
Current directory is \
smb: \> dir t*
   temp                                D        0  Thu Dec 23 11:03:29 
   TMP                                 D        0  Mon May 10 12:52:34 
                 34545 blocks of size 1048576. 5533 blocks available
smb: \> cd t{tab}{tab}       # at this point smbclient sends a 'ls t*', 
caches the results, and displays the choices
temp  TMP
smb: \> cd te{tab}{tab}      # at this point smbclient looks up the 
choices and fills in the result
smb: \> cd temp/

BTW, tab-completion is already built-in to smbclient.  It's just that 
tab-completion only operates on the local system and not on the remote 
system.  It would be nice to have a option that can switch between the 

Just my $0.02.  Not like I would be trying to implement this any time 

- Robert
Help others get OpenSource.  Distribute FLOSS for
Windows, Linux, *BSD, and MacOS X with BitTorrent

To unsubscribe, send email to majordomo@silug.org with
"unsubscribe silug-discuss" in the body.