aboutsummaryrefslogtreecommitdiffstats
path: root/lib-src
diff options
context:
space:
mode:
authorPaul Eggert <[email protected]>2013-11-13 17:52:18 -0800
committerPaul Eggert <[email protected]>2013-11-13 17:52:18 -0800
commitd672ac3c611453c624948ed8cc2ced65cadc3400 (patch)
treea5b52d6ff15caf0a755cc0729d29474a5ae4a6a3 /lib-src
parentff6ec81d6dd564080d8407c0a0eae36461b3b75d (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/ChangeLog6
-rw-r--r--lib-src/ebrowse.c2
-rw-r--r--lib-src/etags.c8
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;
}