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:
committed by
Gerald (Jerry) Carter
parent
5fbc2fbb46
commit
aa25dc1248
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user