summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--editors/sed.c4
-rw-r--r--include/libbb.h4
-rw-r--r--libbb/dirname.c2
-rw-r--r--libbb/libbb.h4
-rw-r--r--libbb/strdup_substr.c34
-rw-r--r--sed.c4
6 files changed, 5 insertions, 47 deletions
diff --git a/editors/sed.c b/editors/sed.c
index 89b1668..24b62e5 100644
--- a/editors/sed.c
+++ b/editors/sed.c
@@ -223,7 +223,7 @@ static int parse_subst_cmd(struct sed_cmd *sed_cmd, const char *substr)
idx = index_of_next_unescaped_regexp_delim(sed_cmd, substr, ++idx);
if (idx == -1)
error_msg_and_die("bad format in substitution expression");
- match = strdup_substr(substr, oldidx, idx);
+ match = xstrndup(substr + oldidx, idx - oldidx);
/* determine the number of back references in the match string */
/* Note: we compute this here rather than in the do_subst_command()
@@ -242,7 +242,7 @@ static int parse_subst_cmd(struct sed_cmd *sed_cmd, const char *substr)
idx = index_of_next_unescaped_regexp_delim(sed_cmd, substr, ++idx);
if (idx == -1)
error_msg_and_die("bad format in substitution expression");
- sed_cmd->replace = strdup_substr(substr, oldidx, idx);
+ sed_cmd->replace = xstrndup(substr + oldidx, idx - oldidx);
/* process the flags */
while (substr[++idx]) {
diff --git a/include/libbb.h b/include/libbb.h
index c29955b..0fc7045 100644
--- a/include/libbb.h
+++ b/include/libbb.h
@@ -254,10 +254,6 @@ extern struct hostent *xgethostbyname(const char *name);
char *dirname (const char *path);
-static inline char *strdup_substr (const char *s, int start, int end)
-{
- return xstrndup (s+start, end-start);
-}
int make_directory (char *path, mode_t mode, int flags);
#define CT_AUTO 0
diff --git a/libbb/dirname.c b/libbb/dirname.c
index cc50f58..5f83994 100644
--- a/libbb/dirname.c
+++ b/libbb/dirname.c
@@ -45,5 +45,5 @@ char *dirname(const char *path)
if (s < path)
return xstrdup (".");
else
- return strdup_substr (path, 0, s - path + 1);
+ return xstrndup (path, s - path + 1);
}
diff --git a/libbb/libbb.h b/libbb/libbb.h
index c29955b..0fc7045 100644
--- a/libbb/libbb.h
+++ b/libbb/libbb.h
@@ -254,10 +254,6 @@ extern struct hostent *xgethostbyname(const char *name);
char *dirname (const char *path);
-static inline char *strdup_substr (const char *s, int start, int end)
-{
- return xstrndup (s+start, end-start);
-}
int make_directory (char *path, mode_t mode, int flags);
#define CT_AUTO 0
diff --git a/libbb/strdup_substr.c b/libbb/strdup_substr.c
deleted file mode 100644
index 85030b1..0000000
--- a/libbb/strdup_substr.c
+++ /dev/null
@@ -1,34 +0,0 @@
-/* vi: set sw=4 ts=4: */
-/*
- * Mini strdup_substr function.
- *
- * Copyright (C) 2001 Mark Whitley.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-/* Return a substring of STR, starting at index START and ending at END,
- * allocated on the heap. */
-
-#include "libbb.h"
-
-char *strdup_substr(const char *str, int start, int end)
-{
- int size = end - start + 1;
- char *newstr = xmalloc(size);
- memcpy(newstr, str+start, size-1);
- newstr[size-1] = '\0';
- return newstr;
-}
diff --git a/sed.c b/sed.c
index 89b1668..24b62e5 100644
--- a/sed.c
+++ b/sed.c
@@ -223,7 +223,7 @@ static int parse_subst_cmd(struct sed_cmd *sed_cmd, const char *substr)
idx = index_of_next_unescaped_regexp_delim(sed_cmd, substr, ++idx);
if (idx == -1)
error_msg_and_die("bad format in substitution expression");
- match = strdup_substr(substr, oldidx, idx);
+ match = xstrndup(substr + oldidx, idx - oldidx);
/* determine the number of back references in the match string */
/* Note: we compute this here rather than in the do_subst_command()
@@ -242,7 +242,7 @@ static int parse_subst_cmd(struct sed_cmd *sed_cmd, const char *substr)
idx = index_of_next_unescaped_regexp_delim(sed_cmd, substr, ++idx);
if (idx == -1)
error_msg_and_die("bad format in substitution expression");
- sed_cmd->replace = strdup_substr(substr, oldidx, idx);
+ sed_cmd->replace = xstrndup(substr + oldidx, idx - oldidx);
/* process the flags */
while (substr[++idx]) {