Remove unneeded second open for filename ending in '.' now we know it's
authorJeremy Allison <jra@samba.org>
Tue, 18 Nov 2003 02:06:41 +0000 (02:06 +0000)
committerJeremy Allison <jra@samba.org>
Tue, 18 Nov 2003 02:06:41 +0000 (02:06 +0000)
a mangled name. Added const. Fix inspired by Andrew Bartlett ideas.
Jeremy.
(This used to be commit 87eb336d659dfa5e92b495dd76a0f2e534931293)

source3/lib/util.c
source3/smbd/open.c

index ce1389c8e9c632a736bda7f4b5f052789d829764..39515c65991e0ad66859fe88c52d1ae788f36180 100644 (file)
@@ -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++)) {
index ef7ace862ae3455bd571f3675cd40b25203e5459..3807c18e784a4e9cec6407fe2cb4303fe961b6e0 100644 (file)
@@ -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 */
 
        /*