summaryrefslogtreecommitdiff
path: root/surveil
diff options
context:
space:
mode:
authorJohn Vogel <jvogel4@stny.rr.com>2024-07-25 19:10:29 -0400
committerJohn Vogel <jvogel4@stny.rr.com>2024-07-25 19:10:29 -0400
commit38891d74f793cf75673a3ba7f801603250e52c84 (patch)
tree0d99ca52ca286d265ad8bd38d4ae9ee79451f654 /surveil
parentd238b2d048f58854dc27d830e8fc66dba21ecf65 (diff)
downloadmy-aports-38891d74f793cf75673a3ba7f801603250e52c84.tar.gz
local/surveil: upgrade to 0.2
Diffstat (limited to 'surveil')
-rw-r--r--surveil/APKBUILD8
-rw-r--r--surveil/surveil/main.c27
-rw-r--r--surveil/surveil/search.c21
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;