about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog8
-rw-r--r--Src/Builtins/rlimits.c24
-rw-r--r--Src/Modules/zftp.c2
3 files changed, 20 insertions, 14 deletions
diff --git a/ChangeLog b/ChangeLog
index 61d4e4643..84e92c328 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2011-10-31  Peter Stephenson  <pws@csr.com>
+
+	* Jun T: 29883: Src/Builtins/rlimits.c, Src/Modules/zftp.c: cast
+	to type in printf to work around cases where types aren't
+	properly distinguished.
+
 2011-10-30  Peter Stephenson  <p.w.stephenson@ntlworld.com>
 
 	* users/16547: Completion/Unix/Command/_perforce: quote
@@ -15527,5 +15533,5 @@
 
 *****************************************************
 * This is used by the shell to define $ZSH_PATCHLEVEL
-* $Revision: 1.5490 $
+* $Revision: 1.5491 $
 *****************************************************
diff --git a/Src/Builtins/rlimits.c b/Src/Builtins/rlimits.c
index 73bbe10f1..670516169 100644
--- a/Src/Builtins/rlimits.c
+++ b/Src/Builtins/rlimits.c
@@ -102,9 +102,9 @@ showlimitvalue(int lim, rlim_t val)
 	printf("%lld\n", val);
 #  else
 #   ifdef RLIM_T_IS_UNSIGNED
-	printf("%lu\n", val);
+	printf("%lu\n", (unsigned long)val);
 #   else
-	printf("%ld\n", val);
+	printf("%ld\n", (long)val);
 #   endif /* RLIM_T_IS_UNSIGNED */
 #  endif /* RLIM_T_IS_LONG_LONG */
 # endif /* RLIM_T_IS_QUAD_T */
@@ -123,9 +123,9 @@ showlimitvalue(int lim, rlim_t val)
 	printf("%lldus\n", val);
 #  else
 #   ifdef RLIM_T_IS_UNSIGNED
-	printf("%luus\n", val);
+	printf("%luus\n", (unsigned long)val);
 #   else
-	printf("%ldus\n", val);
+	printf("%ldus\n", (long)val);
 #   endif /* RLIM_T_IS_UNSIGNED */
 #  endif /* RLIM_T_IS_LONG_LONG */
 # endif /* RLIM_T_IS_QUAD_T */
@@ -139,9 +139,9 @@ showlimitvalue(int lim, rlim_t val)
 	printf("%lld\n", val);
 #  else
 #   ifdef RLIM_T_IS_UNSIGNED
-	printf("%lu\n", val);
+	printf("%lu\n", (unsigned long)val);
 #   else
-	printf("%ld\n", val);
+	printf("%ld\n", (long)val);
 #   endif /* RLIM_T_IS_UNSIGNED */
 #  endif /* RLIM_T_IS_LONG_LONG */
 # endif /* RLIM_T_IS_QUAD_T */
@@ -158,13 +158,13 @@ showlimitvalue(int lim, rlim_t val)
 	printf("%lldkB\n", val / 1024L);
 #  else
 #   ifdef RLIM_T_IS_UNSIGNED
-    printf("%luMB\n", val / (1024L * 1024L));
+    printf("%luMB\n", (unsigned long)(val / (1024L * 1024L)));
     else
-	printf("%lukB\n", val / 1024L);
+	printf("%lukB\n", (unsigned long)(val / 1024L));
 #   else
-    printf("%ldMB\n", val / (1024L * 1024L));
+    printf("%ldMB\n", (long)val / (1024L * 1024L));
     else
-	printf("%ldkB\n", val / 1024L);
+	printf("%ldkB\n", (long)val / 1024L);
 #   endif /* RLIM_T_IS_UNSIGNED */
 #  endif /* RLIM_T_IS_LONG_LONG */
 # endif /* RLIM_T_IS_QUAD_T */
@@ -398,9 +398,9 @@ printulimit(char *nam, int lim, int hard, int head)
 	printf("%lld\n", limit);
 #  else
 #   ifdef RLIM_T_IS_UNSIGNED
-	printf("%lu\n", limit);
+	printf("%lu\n", (unsigned long)limit);
 #   else
-	printf("%ld\n", limit);
+	printf("%ld\n", (long)limit);
 #   endif /* RLIM_T_IS_UNSIGNED */
 #  endif /* RLIM_T_IS_LONG_LONG */
 # endif /* RLIM_T_IS_QUAD_T */
diff --git a/Src/Modules/zftp.c b/Src/Modules/zftp.c
index 8d688abd4..d16e2f618 100644
--- a/Src/Modules/zftp.c
+++ b/Src/Modules/zftp.c
@@ -2520,7 +2520,7 @@ zftp_local(UNUSED(char *name), char **args, int flags)
 	printf("%s %s\n", output64(sz), mt);
 #else
 	DPUTS(sizeof(sz) > 4, "Shell compiled with wrong off_t size");
-	printf("%ld %s\n", sz, mt);
+	printf("%ld %s\n", (long)sz, mt);
 #endif
 	zsfree(mt);
 	if (dofd)