From 013a0511030729bf84f4c703dca3fa39ded5fe12 Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Tue, 18 Nov 2003 02:06:41 +0000 Subject: Remove unneeded second open for filename ending in '.' now we know it's a mangled name. Added const. Fix inspired by Andrew Bartlett ideas. Jeremy. (This used to be commit 87eb336d659dfa5e92b495dd76a0f2e534931293) --- source3/lib/util.c | 2 +- source3/smbd/open.c | 16 +++------------- 2 files changed, 4 insertions(+), 14 deletions(-) (limited to 'source3') diff --git a/source3/lib/util.c b/source3/lib/util.c index ce1389c8e9..39515c6599 100644 --- a/source3/lib/util.c +++ b/source3/lib/util.c @@ -2234,7 +2234,7 @@ char *parent_dirname(const char *path) Determine if a pattern contains any Microsoft wildcard characters. *******************************************************************/ -BOOL ms_has_wild(char *s) +BOOL ms_has_wild(const char *s) { char c; while ((c = *s++)) { diff --git a/source3/smbd/open.c b/source3/smbd/open.c index ef7ace862a..3807c18e78 100644 --- a/source3/smbd/open.c +++ b/source3/smbd/open.c @@ -30,7 +30,7 @@ extern BOOL global_client_failed_oplock_break; fd support routines - attempt to do a dos_open. ****************************************************************************/ -static int fd_open(struct connection_struct *conn, char *fname, +static int fd_open(struct connection_struct *conn, const char *fname, int flags, mode_t mode) { int fd; @@ -41,13 +41,6 @@ static int fd_open(struct connection_struct *conn, char *fname, fd = SMB_VFS_OPEN(conn,fname,flags,mode); - /* Fix for files ending in '.' */ - if((fd == -1) && (errno == ENOENT) && - (strchr_m(fname,'.')==NULL)) { - pstrcat(fname,"."); - fd = SMB_VFS_OPEN(conn,fname,flags,mode); - } - DEBUG(10,("fd_open: name %s, flags = 0%o mode = 0%o, fd = %d. %s\n", fname, flags, (int)mode, fd, (fd == -1) ? strerror(errno) : "" )); @@ -70,7 +63,7 @@ int fd_close(struct connection_struct *conn, files_struct *fsp) Check a filename for the pipe string. ****************************************************************************/ -static void check_for_pipe(char *fname) +static void check_for_pipe(const char *fname) { /* special case of pipe opens */ char s[10]; @@ -89,10 +82,9 @@ static void check_for_pipe(char *fname) ****************************************************************************/ static BOOL open_file(files_struct *fsp,connection_struct *conn, - const char *fname1,SMB_STRUCT_STAT *psbuf,int flags,mode_t mode, uint32 desired_access) + const char *fname,SMB_STRUCT_STAT *psbuf,int flags,mode_t mode, uint32 desired_access) { extern struct current_user current_user; - pstring fname; int accmode = (flags & O_ACCMODE); int local_flags = flags; @@ -100,8 +92,6 @@ static BOOL open_file(files_struct *fsp,connection_struct *conn, fsp->oplock_type = NO_OPLOCK; errno = EPERM; - pstrcpy(fname,fname1); - /* Check permissions */ /* -- cgit