summaryrefslogtreecommitdiff
path: root/Src/prompt.c
diff options
context:
space:
mode:
authorPeter Stephenson <pws@users.sourceforge.net>2012-03-05 10:06:28 +0000
committerPeter Stephenson <pws@users.sourceforge.net>2012-03-05 10:06:28 +0000
commit86f8e8de696404b85c334916bfe3d69bdd4291c6 (patch)
treea37c7c91bfe9f5b92bf574e56009ff86f49e3f0f /Src/prompt.c
parent7614be7fe1b9a9692a6c8f5c5f471df3ef288366 (diff)
downloadzsh-86f8e8de696404b85c334916bfe3d69bdd4291c6.tar.gz
zsh-86f8e8de696404b85c334916bfe3d69bdd4291c6.zip
30307 plus tweak suggsted by Wayne: use %lld for zlong when long long
Diffstat (limited to 'Src/prompt.c')
-rw-r--r--Src/prompt.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/Src/prompt.c b/Src/prompt.c
index d15b7c0d4..e51ce2451 100644
--- a/Src/prompt.c
+++ b/Src/prompt.c
@@ -663,12 +663,20 @@ putpromptchar(int doprint, int endchar, unsigned int *txtchangep)
break;
case 'L':
addbufspc(DIGBUFSIZE);
+#if defined(ZLONG_IS_LONG_LONG) && defined(PRINTF_HAS_LLD)
+ sprintf(bv->bp, "%lld", shlvl);
+#else
sprintf(bv->bp, "%ld", (long)shlvl);
+#endif
bv->bp += strlen(bv->bp);
break;
case '?':
addbufspc(DIGBUFSIZE);
+#if defined(ZLONG_IS_LONG_LONG) && defined(PRINTF_HAS_LLD)
+ sprintf(bv->bp, "%lld", lastval);
+#else
sprintf(bv->bp, "%ld", (long)lastval);
+#endif
bv->bp += strlen(bv->bp);
break;
case '%':
@@ -764,7 +772,11 @@ putpromptchar(int doprint, int endchar, unsigned int *txtchangep)
if (funcstack->tp == FS_EVAL)
lineno--;
addbufspc(DIGBUFSIZE);
+#if defined(ZLONG_IS_LONG_LONG) && defined(PRINTF_HAS_LLD)
+ sprintf(bv->bp, "%lld", flineno);
+#else
sprintf(bv->bp, "%ld", (long)flineno);
+#endif
bv->bp += strlen(bv->bp);
break;
}
@@ -772,7 +784,11 @@ putpromptchar(int doprint, int endchar, unsigned int *txtchangep)
/* FALLTHROUGH */
case 'i':
addbufspc(DIGBUFSIZE);
+#if defined(ZLONG_IS_LONG_LONG) && defined(PRINTF_HAS_LLD)
+ sprintf(bv->bp, "%lld", lineno);
+#else
sprintf(bv->bp, "%ld", (long)lineno);
+#endif
bv->bp += strlen(bv->bp);
break;
case 'x':