diff options
| author | Eli Zaretskii | 2011-04-29 22:34:06 +0300 |
|---|---|---|
| committer | Eli Zaretskii | 2011-04-29 22:34:06 +0300 |
| commit | ae940ccad19a554e1134b7ae443716e46c72366d (patch) | |
| tree | 4fa3f219e6657b4feb55740ba7e59ac701b18350 | |
| parent | 03ab8921a811be962c0fc0b6879fb59e08e7952c (diff) | |
| download | emacs-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/ChangeLog | 5 | ||||
| -rw-r--r-- | src/doprnt.c | 4 |
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 @@ | |||
| 1 | 2011-04-29 Eli Zaretskii <eliz@gnu.org> | 1 | 2011-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) |