aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEli Zaretskii2011-04-29 22:34:06 +0300
committerEli Zaretskii2011-04-29 22:34:06 +0300
commitae940ccad19a554e1134b7ae443716e46c72366d (patch)
tree4fa3f219e6657b4feb55740ba7e59ac701b18350
parent03ab8921a811be962c0fc0b6879fb59e08e7952c (diff)
downloademacs-ae940ccad19a554e1134b7ae443716e46c72366d.tar.gz
emacs-ae940ccad19a554e1134b7ae443716e46c72366d.zip
Don't abort in doprnt when passed unsupported %ll modifier.
src/doprnt.c (doprnt) [!HAVE_LONG_LONG_INT]: Error out instead of aborting when %lld or %lll format is passed. [!HAVE_UNSIGNED_LONG_LONG_INT]: Error out instead of aborting when %llo or %llx format is passed. (Bug#8545)
-rw-r--r--src/ChangeLog5
-rw-r--r--src/doprnt.c4
2 files changed, 7 insertions, 2 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index f029daa684d..14d5ac9de48 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,5 +1,10 @@
12011-04-29 Eli Zaretskii <eliz@gnu.org> 12011-04-29 Eli Zaretskii <eliz@gnu.org>
2 2
3 * doprnt.c (doprnt) [!HAVE_LONG_LONG_INT]: Error out instead of
4 aborting when %lld or %lll format is passed.
5 [!HAVE_UNSIGNED_LONG_LONG_INT]: Error out instead of aborting when
6 %llo or %llx format is passed. (Bug#8545)
7
3 * window.c (window_scroll_line_based): Use a marker instead of 8 * window.c (window_scroll_line_based): Use a marker instead of
4 simple variables to record original value of point. (Bug#7952) 9 simple variables to record original value of point. (Bug#7952)
5 10
diff --git a/src/doprnt.c b/src/doprnt.c
index 2508ddd831a..7b4bd35d5b1 100644
--- a/src/doprnt.c
+++ b/src/doprnt.c
@@ -269,7 +269,7 @@ doprnt (char *buffer, register size_t bufsize, const char *format,
269 long long ll = va_arg (ap, long long); 269 long long ll = va_arg (ap, long long);
270 sprintf (sprintf_buffer, fmtcpy, ll); 270 sprintf (sprintf_buffer, fmtcpy, ll);
271#else 271#else
272 abort (); 272 error ("Invalid format operation %%ll%c", fmt[-1]);
273#endif 273#endif
274 } 274 }
275 else if (long_flag) 275 else if (long_flag)
@@ -299,7 +299,7 @@ doprnt (char *buffer, register size_t bufsize, const char *format,
299 unsigned long long ull = va_arg (ap, unsigned long long); 299 unsigned long long ull = va_arg (ap, unsigned long long);
300 sprintf (sprintf_buffer, fmtcpy, ull); 300 sprintf (sprintf_buffer, fmtcpy, ull);
301#else 301#else
302 abort (); 302 error ("Invalid format operation %%ll%c", fmt[-1]);
303#endif 303#endif
304 } 304 }
305 else if (long_flag) 305 else if (long_flag)