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()
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]) {
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
if (s < path)
return xstrdup (".");
else
- return strdup_substr (path, 0, s - path + 1);
+ return xstrndup (path, s - path + 1);
}
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
+++ /dev/null
-/* 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;
-}
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()
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]) {