1
0
mirror of https://github.com/samba-team/samba.git synced 2025-11-22 16:23:49 +03:00

r13216: r12422@cabra: derrell | 2006-01-28 23:57:35 -0500

Fix cli_setpathinfo() to actually do what it's supposed to.

 Also, get rid of some apparently drug-induced code to deal with create time
 which isn't being manipulated anyway.
This commit is contained in:
Derrell Lipman
2006-01-29 04:57:42 +00:00
committed by Gerald (Jerry) Carter
parent 5fbc2fbb46
commit aa25dc1248
2 changed files with 17 additions and 50 deletions

View File

@@ -1522,39 +1522,6 @@ smbc_setatr(SMBCCTX * context, SMBCSRV *srv, char *path,
int fd;
int ret;
/*
* Get the create time of the file (if not provided); we'll need it in
* the set call.
*/
if (! srv->no_pathinfo && c_time == 0) {
if (! cli_qpathinfo(&srv->cli, path,
&c_time, NULL, NULL, NULL, NULL)) {
/* qpathinfo not available */
srv->no_pathinfo = True;
} else {
/*
* We got a creation time. Some OS versions don't
* return a valid create time, though. If we got an
* invalid time, start with the current time instead.
*/
if (c_time == 0 || c_time == (time_t) -1) {
c_time = time(NULL);
}
/*
* We got a creation time. For sanity sake, since
* there is no POSIX function to set the create time
* of a file, if the existing create time is greater
* than either of access time or modification time,
* set create time to the smallest of those. This
* ensure that the create time of a file is never
* greater than its last access or modification time.
*/
if (c_time > a_time) c_time = a_time;
if (c_time > m_time) c_time = m_time;
}
}
/*
* First, try setpathinfo (if qpathinfo succeeded), for it is the
* modern function for "new code" to be using, and it works given a