diff options
author | Paul Eggert <[email protected]> | 2013-11-13 17:52:18 -0800 |
---|---|---|
committer | Paul Eggert <[email protected]> | 2013-11-13 17:52:18 -0800 |
commit | d672ac3c611453c624948ed8cc2ced65cadc3400 (patch) | |
tree | a5b52d6ff15caf0a755cc0729d29474a5ae4a6a3 /lib-src | |
parent | ff6ec81d6dd564080d8407c0a0eae36461b3b75d (diff) |
Prefer tail calls.
* lib-src/ebrowse.c (xstrdup):
* lib-src/etags.c (savenstr):
* lwlib/lwlib.c (safe_strdup):
* src/xfns.c (xic_create_fontsetname):
* src/xrdb.c (gethomedir): Prefer tail calls.
* lib-src/etags.c (concat): Omit unnecessary assignment.
Diffstat (limited to 'lib-src')
-rw-r--r-- | lib-src/ChangeLog | 6 | ||||
-rw-r--r-- | lib-src/ebrowse.c | 2 | ||||
-rw-r--r-- | lib-src/etags.c | 8 |
3 files changed, 9 insertions, 7 deletions
diff --git a/lib-src/ChangeLog b/lib-src/ChangeLog index 44d7260dea..2010444743 100644 --- a/lib-src/ChangeLog +++ b/lib-src/ChangeLog @@ -1,3 +1,9 @@ +2013-11-14 Paul Eggert <[email protected]> + + * ebrowse.c (xstrdup): + * etags.c (savenstr): Prefer tail calls. + * etags.c (concat): Omit unnecessary assignment. + 2013-10-24 Glenn Morris <[email protected]> * Makefile.in ($(DESTDIR)${archlibdir}): diff --git a/lib-src/ebrowse.c b/lib-src/ebrowse.c index 216865c380..971f74e7fe 100644 --- a/lib-src/ebrowse.c +++ b/lib-src/ebrowse.c @@ -514,7 +514,7 @@ static char * xstrdup (char *s) { if (s) - s = strcpy (xmalloc (strlen (s) + 1), s); + return strcpy (xmalloc (strlen (s) + 1), s); return s; } diff --git a/lib-src/etags.c b/lib-src/etags.c index aa8c773e35..21cf3654b9 100644 --- a/lib-src/etags.c +++ b/lib-src/etags.c @@ -6243,12 +6243,9 @@ savestr (const char *cp) static char * savenstr (const char *cp, int len) { - register char *dp; - - dp = xnew (len + 1, char); - memcpy (dp, cp, len); + char *dp = xnew (len + 1, char); dp[len] = '\0'; - return dp; + return memcpy (dp, cp, len); } /* @@ -6362,7 +6359,6 @@ concat (const char *s1, const char *s2, const char *s3) strcpy (result, s1); strcpy (result + len1, s2); strcpy (result + len1 + len2, s3); - result[len1 + len2 + len3] = '\0'; return result; } |