}
+static char *func_lastword (const char *filename, unsigned long line_no, char *input) {
+
+ char *temp = xstrdup (input);
+ char *p;
+
+ (void) filename;
+ (void) line_no;
+
+ if ((p = strrchr (temp, ' '))) {
+ return p + 1;
+ }
+
+ return temp;
+
+}
+
static char *func_subst (const char *filename, unsigned long line_no, char *input) {
char *src, *dst, *new_body, *old_body, *p;
(void) filename;
(void) line_no;
- src = input;
+ src = skip_whitespace (input);
if (!(dst = strstr (src, ",")) || !dst[0]) {
return 0;
*old_body++ = 0;
+ if (!*src) {
+ return xstrdup ("");
+ }
+
size = 16 + strlen (old_body);
new_body = xmalloc (size);
{ "error", &func_error },
{ "filter-out", &func_filter_out },
+ { "lastword", &func_lastword },
#if defined (_WIN32) || defined (__WIN32__) || defined (unix) || defined (__unix) || defined (__unix__) || defined (__APPLE__)
{ "shell", &func_shell },