summaryrefslogtreecommitdiff
path: root/source3/libsmb/libsmbclient.c
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2005-10-21 22:48:27 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 11:05:09 -0500
commitcef9443a8761c51be03657b0cdffa16cc29d62b2 (patch)
treef8b6761de36d31ed4b00153268504383ded124b8 /source3/libsmb/libsmbclient.c
parent3eadd7e5dfa65bc0dfb41be9948a27993d5c58b9 (diff)
downloadsamba-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/libsmbclient.c')
-rw-r--r--source3/libsmb/libsmbclient.c61
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);
}
}