summaryrefslogtreecommitdiff
path: root/src/lisp.h
diff options
context:
space:
mode:
authorDmitry Antipov <dmantipov@yandex.ru>2014-09-02 10:49:40 +0400
committerDmitry Antipov <dmantipov@yandex.ru>2014-09-02 10:49:40 +0400
commitf25cd98b276ba1a11d7be5506c8624c72060b25f (patch)
tree856deb2cf42a6201b2479c5db9a351eefedbbf91 /src/lisp.h
parenta4a30aa0ecf0a9f032f2744548abf96b6d3d117e (diff)
downloademacs-f25cd98b276ba1a11d7be5506c8624c72060b25f.tar.gz
emacs-f25cd98b276ba1a11d7be5506c8624c72060b25f.tar.bz2
emacs-f25cd98b276ba1a11d7be5506c8624c72060b25f.zip
* callproc.c (egetenv_internal): Add arg and rename from egetenv ...
* lisp.h (egetenv): ... because of a new inline function used to avoid calls to strlen for a compile-time constants.
Diffstat (limited to 'src/lisp.h')
-rw-r--r--src/lisp.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/lisp.h b/src/lisp.h
index 05b27ab9f00..cac536943a5 100644
--- a/src/lisp.h
+++ b/src/lisp.h
@@ -4442,7 +4442,16 @@ extern char *xlispstrdup (Lisp_Object) ATTRIBUTE_MALLOC;
extern void dupstring (char **, char const *);
extern void xputenv (const char *);
-extern char *egetenv (const char *);
+extern char *egetenv_internal (const char *, ptrdiff_t);
+
+/* VAR is usually a compile-time constant, so the
+ call to strlen is likely to be optimized away. */
+
+INLINE char *
+egetenv(const char *var)
+{
+ return egetenv_internal (var, strlen (var));
+}
/* Copy Lisp string to temporary (allocated on stack) C string. */