diff options
Diffstat (limited to 'surveil')
| -rw-r--r-- | surveil/APKBUILD | 8 | ||||
| -rw-r--r-- | surveil/surveil/main.c | 27 | ||||
| -rw-r--r-- | surveil/surveil/search.c | 21 |
3 files changed, 25 insertions, 31 deletions
diff --git a/surveil/APKBUILD b/surveil/APKBUILD index ac20c52..248b29c 100644 --- a/surveil/APKBUILD +++ b/surveil/APKBUILD @@ -1,8 +1,8 @@ # Contributor: John Vogel <jvogel4@stny.rr.com> # Maintainer: John Vogel <jvogel4@stny.rr.com> pkgname=surveil -pkgver=0.1 -pkgrel=3 +pkgver=0.2 +pkgrel=0 pkgdesc="trach changes to remote files" url="http://localhost/home/john/Code/surveil" arch="all" @@ -66,10 +66,10 @@ bae7269e443ffa471d23079ad7ba206256ab71053f678ee89353e8bfa05ffbae1d7b964aa39eb5ba 5216eb767b1cd2b65923905f28a93637049e712055badcfc8cb999908e8d748d70284c9ebe67aa52b040d557544f44a83b52c108b926ae7945fc12a35621194d example.conf 39938dfd96c72993d8bddbc9a6d685ee18af1df61dac6039448630aa05283b63b14352594972c2ea8e96553a135234b01fe1334702ecada306bce25a717b27d6 job.c 4ea25eb9fb63df997cc3be98cd7ef0b0f2b9750504731566f39210ba7062877cd53842aea78f7c4fb418eef841f19081b50d287495d4012d80f1fe343c04fd83 job.h -0c500bf89a2a6fc5c0ca716cfc76875694e34908ee32e354553d13379620e002228c6952abba7855e92f6cf96e801af27d0c08a355eeda865bf36f904436af7c main.c +017fb0a24c056a3d4149bfd121ca34841ae55479e4eccce6c44f26bd39ca59acedad75c9eae065245428de790f76131f47de7c8d6873c501f614691e2b9c08e6 main.c 0a61764ac07548b3099ad93dfb161c0482a87a28df75ed0f8f89ef839414bffb775a17d6f8b215cb03bdefa1f5de6d1f963fdd61ad677f40388324030aca88bb net.c d5b2accdbf041d92f7b1874423d205a0cb9bdfcbf6a8dbbff99bd00d542ce318f5566e3634728b5b4ecedb0534be043f6a121adf4dd0c44fc5bac7cc6a34552e net.h -8378702b8fc77a40091c6677ee001f6a8453e6a311f37422aa8342002adce4251942d60274b3cb1da048b3ded3bfa9266f3cfb6abf503b0a72bf72672a7ff4a0 search.c +97057c053c96adcf182f3eed1724621f17cce3376d1dcadfcc063c82da674a68fefe351a2833e0d3d867c506c82e7710a175c7e5c70e0cbe477b837b51c1b6b9 search.c 795b356d875804b39576b99c155f4fa2a954ec7c8281029e6f2f43a88b3ab6535c50bee85d0105fa30cd08329286addc11a8207ee7d6450331d2ba952b5b949d search.h c642b266fd3300f832cc597b02875c28ac9fb37fbc3975206b1ba665dbb64a3f8e15663d6299553b4915193c6ade418e346503f7499c7371be994c9cbd6a943e surveil.1 a7227dc9a91339bbf7aeed27f335f9d4cc6b277c07f7d29fe81c1942513b5d9bcb22f7c2ba6050d2504728ca8ad23392bdc9957a4f3412a0478b79b89966ded2 util.c diff --git a/surveil/surveil/main.c b/surveil/surveil/main.c index a242897..54975e9 100644 --- a/surveil/surveil/main.c +++ b/surveil/surveil/main.c @@ -280,13 +280,6 @@ int main(int argc, char *argv[]) exit(EXIT_FAILURE); ctx.cfg = cfg; - if (qflag) - cfg->quiet = qflag; - if (tflag) - cfg->test = tflag; - if (vflag) - cfg->verbose = vflag; - if (optind < argc) { cfg->nspecified = argc - optind; cfg->specified = xmalloc(sizeof(char *) * cfg->nspecified); @@ -348,6 +341,13 @@ int main(int argc, char *argv[]) } } + if (qflag != 0) + cfg->quiet = qflag; + if (tflag != 0) + cfg->test = tflag; + if (vflag != 0) + cfg->verbose = vflag; + if (cfg->prune) prune_data(cfg, jobs, 1); @@ -374,7 +374,7 @@ int main(int argc, char *argv[]) eflag++; } - if (tflag || eflag) + if (eflag) continue; if (run_job(j) == -1) { @@ -382,6 +382,11 @@ int main(int argc, char *argv[]) continue; } + if (cfg->test) { + printf("%s: output:\n%s\n", j->name, j->buf); + continue; + } + res = db_find(j->name, &prev); if (res == -1) { warnx("internal db error"); @@ -432,7 +437,7 @@ int main(int argc, char *argv[]) } if (memcmp(dgst, prevdgst, dlen) == 0) { - if (cfg->verbose) + if (cfg->verbose > 0) warnx("%s: no change", j->name); goto loop_done; } @@ -443,7 +448,7 @@ int main(int argc, char *argv[]) strftime(thistime, sizeof(thistime), "%c", gmtime(&j->date)) == 0) warnx("failed to format date strings"); - if (cfg->verbose != 0) { + if (cfg->verbose || cfg->test) { printf("%s (%s):\n%s: %s\n%s: %s\n\n", j->name, j->url, lasttime, prevdgstasc, thistime, dgstasc); } @@ -453,7 +458,7 @@ int main(int argc, char *argv[]) eflag++; } - if (cfg->quiet == 0 || cfg->verbose > 0) { + if (!cfg->quiet || cfg->verbose || cfg->test) { buf = get_diff(prev->buf, prev->bufsz, j->buf, j->bufsz); if (buf == NULL) { warnx("failed to get diff with last run for job '%s'", j->name); diff --git a/surveil/surveil/search.c b/surveil/surveil/search.c index 74b7032..351df25 100644 --- a/surveil/surveil/search.c +++ b/surveil/surveil/search.c @@ -63,8 +63,7 @@ struct tqh *search_text(char *buf, size_t sz, char *pat, char *rpl) struct tqe *elem; struct match *m; - /* XXX consider REG_NEWLINE for cflags */ - if ((ret = regcomp(&res, pat, REG_EXTENDED)) != 0) { + if ((ret = regcomp(&res, pat, REG_EXTENDED|REG_NEWLINE)) != 0) { regerror(ret, &res, errbuf, sizeof(errbuf)); warnx("%s: %s\n", pat, errbuf); return NULL; @@ -75,12 +74,10 @@ struct tqh *search_text(char *buf, size_t sz, char *pat, char *rpl) srch = tq_new(); - for (l = buf, e = l+sz, i = 1;l && *l && l < e; i++) { + for (l = buf, e = buf+sz, i = 1; l < e; i++) { if ((nl = strchr(l, '\n')) != NULL) *nl = '\0'; - - ret = regexec(&res, l, nm, pm, 0); - if (ret == REG_NOMATCH) + if (regexec(&res, l, nm, pm, 0)) goto skip; m = match_new(pat, rpl, i, l, nm, pm); elem = tq_elem_new(m); @@ -88,17 +85,11 @@ struct tqh *search_text(char *buf, size_t sz, char *pat, char *rpl) tq_insert_head(srch, elem); else tq_insert_tail(srch, elem); - - /* XXX Should this be rm_so+1 to start just after - * the start of the last match? Seems like it depends - * on whether overlapping matches are ok. */ - /*s = l + pm[0].rm_so + 1;*/ s = l + pm[0].rm_eo; while (s < e) { - ret = regexec(&res, s, nm, pm, REG_NOTBOL); - if (ret == REG_NOMATCH) + if (regexec(&res, s, nm, pm, REG_NOTBOL)) break; - m = match_new(pat, rpl, i, l, nm, pm); + m = match_new(pat, rpl, i, s, nm, pm); elem = tq_elem_new(m); if (tq_empty(srch)) tq_insert_head(srch, elem); @@ -106,9 +97,7 @@ struct tqh *search_text(char *buf, size_t sz, char *pat, char *rpl) tq_insert_tail(srch, elem); s += pm[0].rm_eo; - /* XXX See above about overlapping matches. */ } - skip: if (nl) l = nl+1; |
