From: Volker Lendecke Date: Thu, 26 Mar 2020 13:33:58 +0000 (+0100) Subject: libsmb: Make cli_setpathinfo_ext() take structs instead of pointers X-Git-Tag: ldb-2.2.0~950 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=aa1f34219d46b200f4c955232db4558e6260c8d8;p=thirdparty%2Fsamba.git libsmb: Make cli_setpathinfo_ext() take structs instead of pointers This simplifies the next commit: With direct (small) structs on the stack we don't need declared variables in the callers Signed-off-by: Volker Lendecke Reviewed-by: Ralph Boehme --- diff --git a/source3/client/client.c b/source3/client/client.c index 671ddd8ab24..09456483c95 100644 --- a/source3/client/client.c +++ b/source3/client/client.c @@ -5275,7 +5275,7 @@ static int cmd_utimes(void) timespec_string_buf(×[3], false, &tbuf[3]))); status = cli_setpathinfo_ext( - cli, fname, ×[0], ×[1], ×[2], ×[3], -1); + cli, fname, times[0], times[1], times[2], times[3], -1); if (!NT_STATUS_IS_OK(status)) { d_printf("cli_setpathinfo_ext failed: %s\n", nt_errstr(status)); diff --git a/source3/libsmb/clirap.c b/source3/libsmb/clirap.c index 71c7b97ad54..d0cdaef716d 100644 --- a/source3/libsmb/clirap.c +++ b/source3/libsmb/clirap.c @@ -796,10 +796,10 @@ NTSTATUS cli_setpathinfo_basic(struct cli_state *cli, const char *fname, } NTSTATUS cli_setpathinfo_ext(struct cli_state *cli, const char *fname, - const struct timespec *create_time, - const struct timespec *access_time, - const struct timespec *write_time, - const struct timespec *change_time, + struct timespec create_time, + struct timespec access_time, + struct timespec write_time, + struct timespec change_time, uint16_t mode) { unsigned int data_len = 0; @@ -811,16 +811,20 @@ NTSTATUS cli_setpathinfo_ext(struct cli_state *cli, const char *fname, /* * Add the create, last access, modification, and status change times */ - put_long_date_full_timespec(TIMESTAMP_SET_NT_OR_BETTER, p, create_time); + put_long_date_full_timespec( + TIMESTAMP_SET_NT_OR_BETTER, p, &create_time); p += 8; - put_long_date_full_timespec(TIMESTAMP_SET_NT_OR_BETTER, p, access_time); + put_long_date_full_timespec( + TIMESTAMP_SET_NT_OR_BETTER, p, &access_time); p += 8; - put_long_date_full_timespec(TIMESTAMP_SET_NT_OR_BETTER, p, write_time); + put_long_date_full_timespec( + TIMESTAMP_SET_NT_OR_BETTER, p, &write_time); p += 8; - put_long_date_full_timespec(TIMESTAMP_SET_NT_OR_BETTER, p, change_time); + put_long_date_full_timespec( + TIMESTAMP_SET_NT_OR_BETTER, p, &change_time); p += 8; if (mode == (uint16_t)-1 || mode == FILE_ATTRIBUTE_NORMAL) { diff --git a/source3/libsmb/clirap.h b/source3/libsmb/clirap.h index b259feffd70..97150f65ee3 100644 --- a/source3/libsmb/clirap.h +++ b/source3/libsmb/clirap.h @@ -65,10 +65,10 @@ NTSTATUS cli_setpathinfo_basic(struct cli_state *cli, const char *fname, time_t change_time, uint16_t mode); NTSTATUS cli_setpathinfo_ext(struct cli_state *cli, const char *fname, - const struct timespec *create_time, - const struct timespec *access_time, - const struct timespec *write_time, - const struct timespec *change_time, + struct timespec create_time, + struct timespec access_time, + struct timespec write_time, + struct timespec change_time, uint16_t mode); struct tevent_req *cli_qpathinfo2_send(TALLOC_CTX *mem_ctx, struct tevent_context *ev,