diff options
Diffstat (limited to 'dotfiles/system/.zsh/modules/Src/string.c')
| -rw-r--r-- | dotfiles/system/.zsh/modules/Src/string.c | 213 |
1 files changed, 0 insertions, 213 deletions
diff --git a/dotfiles/system/.zsh/modules/Src/string.c b/dotfiles/system/.zsh/modules/Src/string.c deleted file mode 100644 index 9e14ef9..0000000 --- a/dotfiles/system/.zsh/modules/Src/string.c +++ /dev/null @@ -1,213 +0,0 @@ -/* - * 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; -} - -/* Duplicate string on heap when length is known */ - -/**/ -mod_export char * -dupstring_wlen(const char *s, unsigned len) -{ - char *t; - - if (!s) - return NULL; - t = (char *) zhalloc(len + 1); - memcpy(t, s, len); - t[len] = '\0'; - return t; -} - -/* Duplicate string on heap, returning length of string */ - -/**/ -mod_export char * -dupstring_glen(const char *s, unsigned *len_ret) -{ - char *t; - - if (!s) - return NULL; - t = (char *) zhalloc((*len_ret = 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 MULTIBYTE_SUPPORT -/**/ -mod_export wchar_t * -wcs_ztrdup(const wchar_t *s) -{ - wchar_t *t; - - if (!s) - return NULL; - t = (wchar_t *)zalloc(sizeof(wchar_t) * (wcslen((wchar_t *)s) + 1)); - wcscpy(t, s); - return t; -} -/**/ -#endif /* MULTIBYTE_SUPPORT */ - - -/* 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(const char *s1, const 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 * -bicat(const char *s1, const char *s2) -{ - /* This version always uses permanently-allocated space. */ - char *ptr; - size_t l1 = strlen(s1); - - ptr = (char *)zalloc(l1 + strlen(s2) + 1); - strcpy(ptr, s1); - strcpy(ptr + l1, s2); - return ptr; -} - -/* like dupstring(), but with a specified length */ - -/**/ -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) -{ - /* This version always uses permanently-allocated space. */ - 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); -} - -/* Return a pointer to the last character of a string, - unless the string is empty. */ - -/**/ -mod_export char * -strend(char *str) -{ - if (*str == '\0') - return str; - return str + strlen (str) - 1; -} |
