diff options
author | Jeremy Allison <jra@samba.org> | 2005-10-21 22:48:27 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 11:05:09 -0500 |
commit | cef9443a8761c51be03657b0cdffa16cc29d62b2 (patch) | |
tree | f8b6761de36d31ed4b00153268504383ded124b8 /source3/libsmb | |
parent | 3eadd7e5dfa65bc0dfb41be9948a27993d5c58b9 (diff) | |
download | samba-cef9443a8761c51be03657b0cdffa16cc29d62b2.tar.gz samba-cef9443a8761c51be03657b0cdffa16cc29d62b2.tar.bz2 samba-cef9443a8761c51be03657b0cdffa16cc29d62b2.zip |
r11256: Remove use of long long and strtoll in libsmbclient (we
can't assume long long is always there). Removed unused
var in new a/c rename code.
long long still used in eventlog code but Jerry has promised
to fix that.
Jeremy.
(This used to be commit f46d8470652b8bc5c4b8cac8e96973c6165ab19a)
Diffstat (limited to 'source3/libsmb')
-rw-r--r-- | source3/libsmb/libsmbclient.c | 61 |
1 files changed, 30 insertions, 31 deletions
diff --git a/source3/libsmb/libsmbclient.c b/source3/libsmb/libsmbclient.c index 8a8211d34a..f180072a70 100644 --- a/source3/libsmb/libsmbclient.c +++ b/source3/libsmb/libsmbclient.c @@ -30,14 +30,13 @@ /* * DOS Attribute values (used internally) */ -typedef struct DOS_ATTR_DESC -{ - int mode; - unsigned long long size; - time_t a_time; - time_t c_time; - time_t m_time; - unsigned long long inode; +typedef struct DOS_ATTR_DESC { + int mode; + SMB_OFF_T size; + time_t a_time; + time_t c_time; + time_t m_time; + SMB_INO_T inode; } DOS_ATTR_DESC; @@ -3738,36 +3737,36 @@ static void dos_attr_parse(SMBCCTX *context, } if (StrnCaseCmp(tok, "SIZE:", 5) == 0) { - dad->size = strtoll(tok+5, NULL, 10); + dad->size = (SMB_OFF_T)atof(tok+5); continue; } if (StrnCaseCmp(tok, "A_TIME:", 7) == 0) { - dad->a_time = strtoll(tok+7, NULL, 10); + dad->a_time = (time_t)strtol(tok+7, NULL, 10); continue; } if (StrnCaseCmp(tok, "C_TIME:", 7) == 0) { - dad->c_time = strtoll(tok+7, NULL, 10); + dad->c_time = (time_t)strtol(tok+7, NULL, 10); continue; } if (StrnCaseCmp(tok, "M_TIME:", 7) == 0) { - dad->m_time = strtoll(tok+7, NULL, 10); + dad->m_time = (time_t)strtol(tok+7, NULL, 10); continue; } if (StrnCaseCmp(tok, "INODE:", 6) == 0) { - dad->inode = strtoll(tok+6, NULL, 10); + dad->inode = (SMB_INO_T)atof(tok+6); continue; } } } - /***************************************************** -retrieve the acls for a file + Retrieve the acls for a file. *******************************************************/ + static int cacl_get(SMBCCTX *context, TALLOC_CTX *ctx, SMBCSRV *srv, struct cli_state *ipc_cli, POLICY_HND *pol, char *filename, char *attr_name, char *buf, int bufsize) @@ -4201,8 +4200,8 @@ static int cacl_get(SMBCCTX *context, TALLOC_CTX *ctx, SMBCSRV *srv, if (determine_size) { p = talloc_asprintf( ctx, - ",SIZE:%llu", - (unsigned long long) size); + ",SIZE:%.0f", + (double)size); if (!p) { errno = ENOMEM; return -1; @@ -4210,15 +4209,15 @@ static int cacl_get(SMBCCTX *context, TALLOC_CTX *ctx, SMBCSRV *srv, n = strlen(p); } else { n = snprintf(buf, bufsize, - ",SIZE:%llu", - (unsigned long long) size); + ",SIZE:%.0f", + (double)size); } } else if (StrCaseCmp(name, "size") == 0) { if (determine_size) { p = talloc_asprintf( ctx, - "%llu", - (unsigned long long) size); + "%.0f", + (double)size); if (!p) { errno = ENOMEM; return -1; @@ -4226,8 +4225,8 @@ static int cacl_get(SMBCCTX *context, TALLOC_CTX *ctx, SMBCSRV *srv, n = strlen(p); } else { n = snprintf(buf, bufsize, - "%llu", - (unsigned long long) size); + "%.0f", + (double)size); } } @@ -4356,8 +4355,8 @@ static int cacl_get(SMBCCTX *context, TALLOC_CTX *ctx, SMBCSRV *srv, if (determine_size) { p = talloc_asprintf( ctx, - ",INODE:%llu", - (unsigned long long) ino); + ",INODE:%.0f", + (double)ino); if (!p) { errno = ENOMEM; return -1; @@ -4365,15 +4364,15 @@ static int cacl_get(SMBCCTX *context, TALLOC_CTX *ctx, SMBCSRV *srv, n = strlen(p); } else { n = snprintf(buf, bufsize, - ",INODE:%llu", - (unsigned long long) ino); + ",INODE:%.0f", + (double) ino); } } else if (StrCaseCmp(name, "inode") == 0) { if (determine_size) { p = talloc_asprintf( ctx, - "%llu", - (unsigned long long) ino); + "%.0f", + (double) ino); if (!p) { errno = ENOMEM; return -1; @@ -4381,8 +4380,8 @@ static int cacl_get(SMBCCTX *context, TALLOC_CTX *ctx, SMBCSRV *srv, n = strlen(p); } else { n = snprintf(buf, bufsize, - "%llu", - (unsigned long long) ino); + "%.0f", + (double) ino); } } |