return buf;
} /* subst */
-char *asubst(const char *string, int off1, int off2, const char *replacement) {
- char *buf;
- int len;
-
- char *ret;
-
- if ((NULL == string) || (0 > off1) || (0 > off2) || (off1 > off2) ||
- (NULL == replacement))
- return NULL;
-
- len = off1 + strlen(replacement) + strlen(string) - off2 + 1;
-
- buf = malloc(len);
- if (NULL == buf)
- return NULL;
-
- ret = subst(buf, len, string, off1, off2, replacement);
- if (NULL == ret)
- free(buf);
- return ret;
-} /* asubst */
-
char *subst_string(char *buf, size_t buflen, const char *string,
const char *needle, const char *replacement) {
size_t needle_len;
size_t off2, const char *replacement);
/*
- * asubst:
- *
- * This function is very similar to subst(). It differs in that it
- * automatically allocates the memory required for the return value which the
- * user then has to free himself.
- *
- * Returns the newly allocated result string on success, NULL else.
- */
-char *asubst(const char *string, int off1, int off2, const char *replacement);
-
-/*
* subst_string:
*
* Works like `subst', but instead of specifying start and end offsets you