diff options
| author | Paul Eggert | 2019-06-25 14:53:39 -0700 |
|---|---|---|
| committer | Paul Eggert | 2019-06-25 14:55:08 -0700 |
| commit | d7c6836288c91bb639956cb8c748dd6597c55cd4 (patch) | |
| tree | 687f6f257d3cb5f4bd54eb634aef2737eb9c0856 /src/process.c | |
| parent | 349b778dde7f583a92dd1531aef3ff5c336e9aee (diff) | |
| download | emacs-d7c6836288c91bb639956cb8c748dd6597c55cd4.tar.gz emacs-d7c6836288c91bb639956cb8c748dd6597c55cd4.zip | |
Avoid some strlen work, primarily via strnlen
* admin/merge-gnulib (GNULIB_MODULES): Add strnlen.
* lib-src/etags.c (find_entries):
* src/emacs.c (main):
* src/nsmenu.m (parseKeyEquiv:):
* src/nsterm.m (ns_xlfd_to_fontname):
* src/term.c (vfatal):
Prefer !*X to !strlen (X).
* lib-src/etags.c (pfnote, add_regex):
* lib-src/pop.c (pop_open):
* lib-src/update-game-score.c (main):
* lwlib/lwlib.c (lw_separator_p):
* src/doprnt.c (doprnt):
* src/emacs.c (main):
* src/inotify.c (inotifyevent_to_event):
* src/keyboard.c (menu_separator_name_p, parse_tool_bar_item):
* src/sysdep.c (get_current_dir_name_or_unreachable):
* src/xdisp.c (store_mode_line_string):
Use strnlen to avoid unnecessary work with strlen.
* lib-src/etags.c (Prolog_functions, prolog_pr)
(Erlang_functions, erlang_func):
Prefer ptrdiff_t to size_t when either will do.
(prolog_pr, erlang_func): New arg LASTLEN, to avoid
unnecessary strlen call. All callers changed.
* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
* lib/strnlen.c, m4/strnlen.m4: New files, copied from Gnulib.
* lwlib/lwlib.c (lw_separator_p):
* src/json.c (json_has_prefix):
Use strncmp to avoid unecessary work with strlen + memcmp.
* src/process.c (set_socket_option): Use SBYTES instead of strlen.
Diffstat (limited to 'src/process.c')
| -rw-r--r-- | src/process.c | 6 |
1 files changed, 1 insertions, 5 deletions
diff --git a/src/process.c b/src/process.c index 6717ccb4187..15d87cf6015 100644 --- a/src/process.c +++ b/src/process.c | |||
| @@ -2857,11 +2857,7 @@ set_socket_option (int s, Lisp_Object opt, Lisp_Object val) | |||
| 2857 | This should work on all systems. KFS. 2003-09-23. */ | 2857 | This should work on all systems. KFS. 2003-09-23. */ |
| 2858 | memset (devname, 0, sizeof devname); | 2858 | memset (devname, 0, sizeof devname); |
| 2859 | if (STRINGP (val)) | 2859 | if (STRINGP (val)) |
| 2860 | { | 2860 | memcpy (devname, SDATA (val), min (SBYTES (val), IFNAMSIZ)); |
| 2861 | char *arg = SSDATA (val); | ||
| 2862 | int len = min (strlen (arg), IFNAMSIZ); | ||
| 2863 | memcpy (devname, arg, len); | ||
| 2864 | } | ||
| 2865 | else if (!NILP (val)) | 2861 | else if (!NILP (val)) |
| 2866 | error ("Bad option value for %s", name); | 2862 | error ("Bad option value for %s", name); |
| 2867 | ret = setsockopt (s, sopt->optlevel, sopt->optnum, | 2863 | ret = setsockopt (s, sopt->optlevel, sopt->optnum, |