summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClint Adams <clint@users.sourceforge.net>2000-09-19 15:54:30 +0000
committerClint Adams <clint@users.sourceforge.net>2000-09-19 15:54:30 +0000
commit946085efa5b9b949664ab94fcda302914936a1c5 (patch)
treee1a315ed56b642e66fdc6ecdf766cb29727687b7
parent3ce3caeec63d4afa4014ca9fdc27d2d096265f14 (diff)
downloadzsh-946085efa5b9b949664ab94fcda302914936a1c5.tar.gz
zsh-946085efa5b9b949664ab94fcda302914936a1c5.zip
12846: moved simple string manipulation functions to string.c
-rw-r--r--ChangeLog4
-rw-r--r--Src/.distfiles2
-rw-r--r--Src/mem.c26
-rw-r--r--Src/string.c135
-rw-r--r--Src/utils.c80
-rw-r--r--Src/zsh.mdd2
6 files changed, 141 insertions, 108 deletions
diff --git a/ChangeLog b/ChangeLog
index f6a5df759..31a31c6f6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
2000-09-19 Clint Adams <schizo@debian.org>
+ * 12846: Src/.distfiles, Src/mem.c, Src/string.c, Src/utils.c,
+ Src/zsh.mdd: Move dupstring(), ztrdup(), tricat(), zhtricat(),
+ dyncat(), dupstrpfx(), ztrduppfx(), and appstr() to string.c.
+
* 12845: Src/Modules/files.c: dynamically allocate pbuf in domove().
2000-09-18 Andrej Borsenkow <Andrej.Borsenkow@mow.siemens.ru>
diff --git a/Src/.distfiles b/Src/.distfiles
index 8e9b2cf5e..d35b54232 100644
--- a/Src/.distfiles
+++ b/Src/.distfiles
@@ -7,7 +7,7 @@ DISTFILES_SRC='
hist.c init.c input.c jobs.c lex.c linklist.c loop.c main.c makepro.awk
math.c mem.c mkbltnmlst.sh mkmakemod.sh mkmodindex.sh
module.c options.c params.c parse.c pattern.c prompt.c prototypes.h
- signals.c signals.h subst.c system.h text.c utils.c
+ signals.c signals.h string.c subst.c system.h text.c utils.c
watch.c xmods.conf zsh.h zsh.mdd ztype.h
zsh.rc zsh.ico
'
diff --git a/Src/mem.c b/Src/mem.c
index d97fee592..b21ef210f 100644
--- a/Src/mem.c
+++ b/Src/mem.c
@@ -507,32 +507,6 @@ zrealloc(void *ptr, size_t size)
}
/**/
-mod_export char *
-dupstring(const char *s)
-{
- char *t;
-
- if (!s)
- return NULL;
- t = (char *) zhalloc(strlen((char *)s) + 1);
- strcpy(t, s);
- return t;
-}
-
-/**/
-mod_export char *
-ztrdup(const char *s)
-{
- char *t;
-
- if (!s)
- return NULL;
- t = (char *)zalloc(strlen((char *)s) + 1);
- strcpy(t, s);
- return t;
-}
-
-/**/
#ifdef ZSH_MEM
/*
diff --git a/Src/string.c b/Src/string.c
new file mode 100644
index 000000000..3dad89911
--- /dev/null
+++ b/Src/string.c
@@ -0,0 +1,135 @@
+/*
+ * string.c - string manipulation
+ *
+ * This file is part of zsh, the Z shell.
+ *
+ * Copyright (c) 2000 Peter Stephenson
+ * All rights reserved.
+ *
+ * Permission is hereby granted, without written agreement and without
+ * license or royalty fees, to use, copy, modify, and distribute this
+ * software and to distribute modified versions of this software for any
+ * purpose, provided that the above copyright notice and the following
+ * two paragraphs appear in all copies of this software.
+ *
+ * In no event shall Peter Stephenson or the Zsh Development Group be liable
+ * to any party for direct, indirect, special, incidental, or consequential
+ * damages arising out of the use of this software and its documentation,
+ * even if Peter Stephenson and the Zsh Development Group have been advised of
+ * the possibility of such damage.
+ *
+ * Peter Stephenson and the Zsh Development Group specifically disclaim any
+ * warranties, including, but not limited to, the implied warranties of
+ * merchantability and fitness for a particular purpose. The software
+ * provided hereunder is on an "as is" basis, and Peter Stephenson and the
+ * Zsh Development Group have no obligation to provide maintenance,
+ * support, updates, enhancements, or modifications.
+ */
+
+#include "zsh.mdh"
+
+/**/
+mod_export char *
+dupstring(const char *s)
+{
+ char *t;
+
+ if (!s)
+ return NULL;
+ t = (char *) zhalloc(strlen((char *)s) + 1);
+ strcpy(t, s);
+ return t;
+}
+
+/**/
+mod_export char *
+ztrdup(const char *s)
+{
+ char *t;
+
+ if (!s)
+ return NULL;
+ t = (char *)zalloc(strlen((char *)s) + 1);
+ strcpy(t, s);
+ return t;
+}
+
+/* concatenate s1, s2, and s3 in dynamically allocated buffer */
+
+/**/
+mod_export char *
+tricat(char const *s1, char const *s2, char const *s3)
+{
+ /* This version always uses permanently-allocated space. */
+ char *ptr;
+ size_t l1 = strlen(s1);
+ size_t l2 = strlen(s2);
+
+ ptr = (char *)zalloc(l1 + l2 + strlen(s3) + 1);
+ strcpy(ptr, s1);
+ strcpy(ptr + l1, s2);
+ strcpy(ptr + l1 + l2, s3);
+ return ptr;
+}
+
+/**/
+mod_export char *
+zhtricat(char const *s1, char const *s2, char const *s3)
+{
+ char *ptr;
+ size_t l1 = strlen(s1);
+ size_t l2 = strlen(s2);
+
+ ptr = (char *)zhalloc(l1 + l2 + strlen(s3) + 1);
+ strcpy(ptr, s1);
+ strcpy(ptr + l1, s2);
+ strcpy(ptr + l1 + l2, s3);
+ return ptr;
+}
+
+/* concatenate s1 and s2 in dynamically allocated buffer */
+
+/**/
+mod_export char *
+dyncat(char *s1, char *s2)
+{
+ /* This version always uses space from the current heap. */
+ char *ptr;
+ size_t l1 = strlen(s1);
+
+ ptr = (char *)zhalloc(l1 + strlen(s2) + 1);
+ strcpy(ptr, s1);
+ strcpy(ptr + l1, s2);
+ return ptr;
+}
+
+/**/
+mod_export char *
+dupstrpfx(const char *s, int len)
+{
+ char *r = zhalloc(len + 1);
+
+ memcpy(r, s, len);
+ r[len] = '\0';
+ return r;
+}
+
+/**/
+mod_export char *
+ztrduppfx(const char *s, int len)
+{
+ char *r = zalloc(len + 1);
+
+ memcpy(r, s, len);
+ r[len] = '\0';
+ return r;
+}
+
+/* Append a string to an allocated string, reallocating to make room. */
+
+/**/
+mod_export char *
+appstr(char *base, char const *append)
+{
+ return strcat(realloc(base, strlen(base) + strlen(append) + 1), append);
+}
diff --git a/Src/utils.c b/Src/utils.c
index 3ffb4388a..4ec73d7be 100644
--- a/Src/utils.c
+++ b/Src/utils.c
@@ -3438,86 +3438,6 @@ strsfx(char *s, char *t)
}
/**/
-mod_export char *
-dupstrpfx(const char *s, int len)
-{
- char *r = zhalloc(len + 1);
-
- memcpy(r, s, len);
- r[len] = '\0';
- return r;
-}
-
-/**/
-mod_export char *
-ztrduppfx(const char *s, int len)
-{
- char *r = zalloc(len + 1);
-
- memcpy(r, s, len);
- r[len] = '\0';
- return r;
-}
-
-/* Append a string to an allocated string, reallocating to make room. */
-
-/**/
-mod_export char *
-appstr(char *base, char const *append)
-{
- return strcat(realloc(base, strlen(base) + strlen(append) + 1), append);
-}
-
-/* concatenate s1, s2, and s3 in dynamically allocated buffer */
-
-/**/
-mod_export char *
-tricat(char const *s1, char const *s2, char const *s3)
-{
- /* This version always uses permanently-allocated space. */
- char *ptr;
- size_t l1 = strlen(s1);
- size_t l2 = strlen(s2);
-
- ptr = (char *)zalloc(l1 + l2 + strlen(s3) + 1);
- strcpy(ptr, s1);
- strcpy(ptr + l1, s2);
- strcpy(ptr + l1 + l2, s3);
- return ptr;
-}
-
-/**/
-mod_export char *
-zhtricat(char const *s1, char const *s2, char const *s3)
-{
- char *ptr;
- size_t l1 = strlen(s1);
- size_t l2 = strlen(s2);
-
- ptr = (char *)zhalloc(l1 + l2 + strlen(s3) + 1);
- strcpy(ptr, s1);
- strcpy(ptr + l1, s2);
- strcpy(ptr + l1 + l2, s3);
- return ptr;
-}
-
-/* concatenate s1 and s2 in dynamically allocated buffer */
-
-/**/
-mod_export char *
-dyncat(char *s1, char *s2)
-{
- /* This version always uses space from the current heap. */
- char *ptr;
- size_t l1 = strlen(s1);
-
- ptr = (char *)zhalloc(l1 + strlen(s2) + 1);
- strcpy(ptr, s1);
- strcpy(ptr + l1, s2);
- return ptr;
-}
-
-/**/
static int
upchdir(int n)
{
diff --git a/Src/zsh.mdd b/Src/zsh.mdd
index ad0d27bfe..78746a873 100644
--- a/Src/zsh.mdd
+++ b/Src/zsh.mdd
@@ -8,7 +8,7 @@ alwayslink=1
objects="builtin.o compat.o cond.o exec.o glob.o hashtable.o \
hist.o init.o input.o jobs.o lex.o linklist.o loop.o math.o \
mem.o module.o options.o params.o parse.o pattern.o prompt.o signals.o \
-signames.o subst.o text.o utils.o watch.o"
+signames.o string.o subst.o text.o utils.o watch.o"
headers="../config.h system.h zsh.h sigcount.h signals.h \
prototypes.h hashtable.h ztype.h"