Actually test vl's new code and make it work to fix the build farm :-).
authorJeremy Allison <jra@samba.org>
Sat, 19 Jan 2008 02:39:27 +0000 (18:39 -0800)
committerJeremy Allison <jra@samba.org>
Sat, 19 Jan 2008 02:39:27 +0000 (18:39 -0800)
Jeremy.
(This used to be commit 63defd3e9d4ba3f02f36ec5ad7b73463f31962a1)

source3/smbd/trans2.c

index 763b6480e33c5ace990abfda9ef0f7606c0187b0..935a88160730d8e79356061aeb1294bafbfa9992 100644 (file)
@@ -3743,12 +3743,6 @@ static void call_trans2qfilepathinfo(connection_struct *conn,
                }
        }
 
-       nlink = sbuf.st_nlink;
-
-       if ((nlink > 0) && delete_pending) {
-               nlink -= 1;
-       }
-
        if (INFO_LEVEL_IS_UNIX(info_level) && !lp_unix_extensions()) {
                reply_nterror(req, NT_STATUS_INVALID_LEVEL);
                return;
@@ -3767,6 +3761,16 @@ static void call_trans2qfilepathinfo(connection_struct *conn,
        if (!mode)
                mode = FILE_ATTRIBUTE_NORMAL;
 
+       nlink = sbuf.st_nlink;
+
+       if (nlink && (mode&aDIR)) {
+               nlink = 1;
+       }
+
+       if ((nlink > 0) && delete_pending) {
+               nlink -= 1;
+       }
+
        fullpathname = fname;
        if (!(mode & aDIR))
                file_size = get_file_size(sbuf);
@@ -4013,7 +4017,7 @@ total_data=%u (should be %u)\n", (unsigned int)total_data, (unsigned int)IVAL(pd
                        data_size = 24;
                        SOFF_T(pdata,0,allocation_size);
                        SOFF_T(pdata,8,file_size);
-                       SIVAL(pdata,16,(mode&aDIR)?1:nlink);
+                       SIVAL(pdata,16,nlink);
                        SCVAL(pdata,20,delete_pending?1:0);
                        SCVAL(pdata,21,(mode&aDIR)?1:0);
                        SSVAL(pdata,22,0); /* Padding. */
@@ -4091,7 +4095,7 @@ total_data=%u (should be %u)\n", (unsigned int)total_data, (unsigned int)IVAL(pd
                        pdata += 40;
                        SOFF_T(pdata,0,allocation_size);
                        SOFF_T(pdata,8,file_size);
-                       SIVAL(pdata,16,(mode&aDIR)?1:nlink);
+                       SIVAL(pdata,16,nlink);
                        SCVAL(pdata,20,delete_pending);
                        SCVAL(pdata,21,(mode&aDIR)?1:0);
                        SSVAL(pdata,22,0);