From e999ca008416e3d41c1079bcb4d151b43c95dc3a Mon Sep 17 00:00:00 2001 From: Strake Date: Fri, 12 Jul 2013 18:10:52 -0500 Subject: add grep --- lib/lib.c | 22 ++++++++++++++++++++++ lib/lib.h | 4 ++++ 2 files changed, 26 insertions(+) (limited to 'lib') diff --git a/lib/lib.c b/lib/lib.c index dca92cbe..f4fcaef4 100644 --- a/lib/lib.c +++ b/lib/lib.c @@ -1291,3 +1291,25 @@ unsigned long get_int_value(const char *numstr, unsigned lowrange, unsigned high return rvalue; //Not reachable; to avoid waring message. } } + +/* + * strcat to mallocated buffer + * reallocate if need be + */ +char *astrcat (char *x, char *y) { + char *z; + z = x; + x = realloc (x, (x ? strlen (x) : 0) + strlen (y) + 1); + if (!x) return 0; + (z ? strcat : strcpy) (x, y); + return x; +} + +/* + * astrcat, but die on failure + */ +char *xastrcat (char *x, char *y) { + x = astrcat (x, y); + if (!x) error_exit ("xastrcat"); + return x; +} diff --git a/lib/lib.h b/lib/lib.h index 70f8f493..2b65495a 100644 --- a/lib/lib.h +++ b/lib/lib.h @@ -192,3 +192,7 @@ char* make_human_readable(unsigned long long size, unsigned long unit); // cut helper functions unsigned long get_int_value(const char *numstr, unsigned lowrange, unsigned highrange); + +// grep helper functions +char *astrcat (char *, char *); +char *xastrcat (char *, char *); -- cgit v1.2.3