aboutsummaryrefslogtreecommitdiffstats
path: root/src/term.c
diff options
context:
space:
mode:
authorPaul Eggert2012-06-25 19:33:51 -0700
committerPaul Eggert2012-06-25 19:33:51 -0700
commit99027bdd81f63ea690394a153ef49a08f55e498d (patch)
treeb7b7083784549ae09d9e688441168627262d4b6d /src/term.c
parentcf38a720e81b545f90dc7be81891d94df6ed059a (diff)
downloademacs-99027bdd81f63ea690394a153ef49a08f55e498d.tar.gz
emacs-99027bdd81f63ea690394a153ef49a08f55e498d.zip
Use sprintf return value instead of invoking strlen on result.
In the old days this wasn't portable, since some sprintf implementations returned char *. But they died out years ago and Emacs already assumes sprintf returns int. Similarly for float_to_string. This patch speeds up (number-to-string 1000) by 3% on Fedora 15 x86-64. * ccl.c (ccl_driver): * character.c (string_escape_byte8): * data.c (Fnumber_to_string): * doprnt.c (doprnt): * print.c (print_object): * xdisp.c (message_dolog): * xfns.c (syms_of_xfns): Use sprintf or float_to_string result to avoid need to call strlen. * data.c (Fnumber_to_string): Use make_unibyte_string, since the string must be ASCII. * lisp.h, print.c (float_to_string): Now returns int length. * term.c (produce_glyphless_glyph): Use sprintf result rather than recomputing it.
Diffstat (limited to 'src/term.c')
-rw-r--r--src/term.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/src/term.c b/src/term.c
index d58dc2ba878..98f5639fb4a 100644
--- a/src/term.c
+++ b/src/term.c
@@ -1851,8 +1851,7 @@ produce_glyphless_glyph (struct it *it, int for_no_font, Lisp_Object acronym)
1851 len = 1; 1851 len = 1;
1852 else if (len > 4) 1852 else if (len > 4)
1853 len = 4; 1853 len = 4;
1854 sprintf (buf, "[%.*s]", len, str); 1854 len = sprintf (buf, "[%.*s]", len, str);
1855 len += 2;
1856 str = buf; 1855 str = buf;
1857 } 1856 }
1858 else 1857 else