#include <ctype.h>
-#if ( defined BB_GREP || defined BB_FIND || defined BB_SED)
+#if ( defined BB_GREP || defined BB_SED)
/* This also tries to find a needle in a haystack, but uses
* real regular expressions.... The fake regular expression
} while (regexec(re, s, FALSE, ignoreCase) == TRUE);
/* copy stuff from after the match */
while ( (*d++ = *s++) ) {}
- d[-1] = '\n';
d[0] = '\0';
strcpy(haystack, buf);
}
static char *previous; /* the previous regexp, used when null regexp is given */
+#if defined BB_SED
static char *previous1; /* a copy of the text from the previous substitution for regsub()*/
+#endif
/* These are used to classify or recognize meta-characters */
/* error-handling stuff */
jmp_buf errorhandler;
-#define FAIL(why) fprintf(stderr, why); longjmp(errorhandler, 1)
+#define FAIL(why) do {fprintf(stderr, why); longjmp(errorhandler, 1);} while (0)
int token;
int peek;
char *build;
- regexp *re;
+ regexp *re; // Ignore compiler whining. If we longjmp, we don't use re anymore.
/* prepare for error handling */