#include <sys/ioctl.h>
#include <fnmatch.h>
+#include "agedu.h"
#include "du.h"
#include "trie.h"
#include "index.h"
#include "httpd.h"
#include "fgetline.h"
-#define PNAME "agedu"
-
-#define lenof(x) (sizeof((x))/sizeof(*(x)))
-
/*
* Path separator. This global variable affects the behaviour of
* various parts of the code when they need to deal with path
*/
#define OPTHELP(NOVAL, VAL, SHORT, LONG, HELPPFX, HELPARG, HELPLINE, HELPOPT) \
- HELPPFX("usage") HELPLINE("agedu [options] action [action...]") \
+ HELPPFX("usage") HELPLINE(PNAME " [options] action [action...]") \
HELPPFX("actions") \
VAL(SCAN) SHORT(s) LONG(scan) \
HELPARG("directory") HELPOPT("scan and index a directory") \
triewalk *tw;
indexbuild *ib;
const struct trie_file *tf;
- char *filename = "agedu.dat";
+ char *filename = PNAME ".dat";
int doing_opts = 1;
enum { TEXT, HTML, SCAN, DUMP, SCANDUMP, LOAD, HTTPD };
struct action {
auth = HTTPD_AUTH_MAGIC | HTTPD_AUTH_BASIC;
else if (!strcmp(optval, "help") ||
!strcmp(optval, "list")) {
- printf("agedu: supported HTTP authentication types"
+ printf(PNAME ": supported HTTP authentication types"
" are:\n"
" magic use Linux /proc/net/tcp to"
" determine owner of peer socket\n"
char *buf = fgetline(stdin);
unsigned newpathsep;
buf[strcspn(buf, "\r\n")] = '\0';
- if (1 != sscanf(buf, "agedu dump file. pathsep=%x",
+ if (1 != sscanf(buf, DUMPHDR "%x",
&newpathsep)) {
fprintf(stderr, "%s: header in dump file not recognised\n",
PNAME);
return 1;
}
if (fstat(fd, &st) < 0) {
- perror("agedu: fstat");
+ perror(PNAME ": fstat");
return 1;
}
ctx->datafile_dev = st.st_dev;
}
if (mode == SCANDUMP)
- printf("agedu dump file. pathsep=%02x\n", (unsigned char)pathsep);
+ printf(DUMPHDR "%02x\n", (unsigned char)pathsep);
/*
* Scan the directory tree, and write out the trie component
* will take; enlarge the file, and memory-map it.
*/
if (fstat(fd, &st) < 0) {
- perror("agedu: fstat");
+ perror(PNAME ": fstat");
return 1;
}
totalsize = index_compute_size(st.st_size, count);
if (lseek(fd, totalsize-1, SEEK_SET) < 0) {
- perror("agedu: lseek");
+ perror(PNAME ": lseek");
return 1;
}
if (write(fd, "\0", 1) < 1) {
- perror("agedu: write");
+ perror(PNAME ": write");
return 1;
}
mappedfile = mmap(NULL, totalsize, PROT_READ|PROT_WRITE,MAP_SHARED, fd, 0);
if (!mappedfile) {
- perror("agedu: mmap");
+ perror(PNAME ": mmap");
return 1;
}
return 1;
}
if (fstat(fd, &st) < 0) {
- perror("agedu: fstat");
+ perror(PNAME ": fstat");
return 1;
}
totalsize = st.st_size;
mappedfile = mmap(NULL, totalsize, PROT_READ, MAP_SHARED, fd, 0);
if (!mappedfile) {
- perror("agedu: mmap");
+ perror(PNAME ": mmap");
return 1;
}
pathsep = trie_pathsep(mappedfile);
return 1;
}
if (fstat(fd, &st) < 0) {
- perror("agedu: fstat");
+ perror(PNAME ": fstat");
return 1;
}
totalsize = st.st_size;
mappedfile = mmap(NULL, totalsize, PROT_READ, MAP_SHARED, fd, 0);
if (!mappedfile) {
- perror("agedu: mmap");
+ perror(PNAME ": mmap");
return 1;
}
pathsep = trie_pathsep(mappedfile);
return 1;
}
if (fstat(fd, &st) < 0) {
- perror("agedu: fstat");
+ perror(PNAME ": fstat");
return 1;
}
totalsize = st.st_size;
mappedfile = mmap(NULL, totalsize, PROT_READ, MAP_SHARED, fd, 0);
if (!mappedfile) {
- perror("agedu: mmap");
+ perror(PNAME ": mmap");
return 1;
}
pathsep = trie_pathsep(mappedfile);
maxpathlen = trie_maxpathlen(mappedfile);
buf = snewn(maxpathlen, char);
- printf("agedu dump file. pathsep=%02x\n", (unsigned char)pathsep);
+ printf(DUMPHDR "%02x\n", (unsigned char)pathsep);
tw = triewalk_new(mappedfile);
while ((tf = triewalk_next(tw, buf)) != NULL)
dump_line(buf, tf);
return 1;
}
if (fstat(fd, &st) < 0) {
- perror("agedu: fstat");
+ perror(PNAME ": fstat");
return 1;
}
totalsize = st.st_size;
mappedfile = mmap(NULL, totalsize, PROT_READ, MAP_SHARED, fd, 0);
if (!mappedfile) {
- perror("agedu: mmap");
+ perror(PNAME ": mmap");
return 1;
}
pathsep = trie_pathsep(mappedfile);