aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorRichard M. Stallman1995-05-05 02:56:50 +0000
committerRichard M. Stallman1995-05-05 02:56:50 +0000
commitf9fa352f109bb7f9b4314c57348d7eecfa2aa63c (patch)
tree6e9e68cc7dcb8fb76d5d5ad77f0777db97bc0b8c /src
parentfaca07fb62cb8a202972700054d2939401cfa778 (diff)
downloademacs-f9fa352f109bb7f9b4314c57348d7eecfa2aa63c.tar.gz
emacs-f9fa352f109bb7f9b4314c57348d7eecfa2aa63c.zip
(doprnt): Handle long EMACS_INT in sprintf.
Diffstat (limited to 'src')
-rw-r--r--src/doprnt.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/doprnt.c b/src/doprnt.c
index 1743c785f01..39562af19fa 100644
--- a/src/doprnt.c
+++ b/src/doprnt.c
@@ -126,6 +126,16 @@ doprnt (buffer, bufsize, format, format_end, nargs, args)
126 case 'x': 126 case 'x':
127 if (cnt == nargs) 127 if (cnt == nargs)
128 error ("not enough arguments for format string"); 128 error ("not enough arguments for format string");
129 if (sizeof (int) == sizeof (EMACS_INT))
130 ;
131 else if (sizeof (long) == sizeof (EMACS_INT))
132 /* Insert an `l' the right place. */
133 string[1] = string[0],
134 string[0] = string[-1],
135 string[-1] = 'l',
136 string++;
137 else
138 abort ();
129 sprintf (sprintf_buffer, fmtcpy, args[cnt++]); 139 sprintf (sprintf_buffer, fmtcpy, args[cnt++]);
130 /* Now copy into final output, truncating as nec. */ 140 /* Now copy into final output, truncating as nec. */
131 string = sprintf_buffer; 141 string = sprintf_buffer;