summaryrefslogtreecommitdiffstats
path: root/src/audit-init.c
diff options
context:
space:
mode:
authorjolsa@redhat.com <jolsa@redhat.com>2011-10-21 11:10:40 +0200
committerJiri Olsa <Jiri Olsa jolsa@redhat.com>2011-11-24 21:20:27 +0100
commit27b90e3d32a6c311fca017f55d0fb8e2a1bd451e (patch)
tree3d374c2cb0f6b81ec98c15b322377f799f876d07 /src/audit-init.c
parentbf775c23afef014f9e11796741786e032d0ec374 (diff)
downloadlatrace-27b90e3d32a6c311fca017f55d0fb8e2a1bd451e.tar.gz
latrace-27b90e3d32a6c311fca017f55d0fb8e2a1bd451e.tar.xz
latrace-27b90e3d32a6c311fca017f55d0fb8e2a1bd451e.zip
error simulation: automation library part
Diffstat (limited to 'src/audit-init.c')
-rw-r--r--src/audit-init.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/src/audit-init.c b/src/audit-init.c
index 092bb0c..0324508 100644
--- a/src/audit-init.c
+++ b/src/audit-init.c
@@ -70,7 +70,7 @@ static int init_ctl_config(char *file)
static int read_config(char *dir)
{
int fd;
- off_t len;
+ off_t len, extra_size = 0;
char file[LT_MAXFILE];
memset(&cfg, 0, sizeof(cfg));
@@ -88,12 +88,20 @@ static int read_config(char *dir)
return -1;
}
+ cfg.sh = cfg.sh_storage.sh = &cfg.sh_storage;
+
+ if (lt_sh(&cfg, error_sim)) {
+ extra_size = lt_error_config_read(&cfg, fd);
+ if (extra_size < 0)
+ return -1;
+ }
+
if (-1 == (len = lseek(fd, 0, SEEK_END))) {
perror("lseek failed");
return -1;
}
- if (len != sizeof(cfg.sh_storage)) {
+ if ((len - extra_size) != sizeof(cfg.sh_storage)) {
printf("config file size differs\n");
return -1;
}
@@ -103,8 +111,6 @@ static int read_config(char *dir)
return -1;
}
- cfg.sh = cfg.sh_storage.sh = &cfg.sh_storage;
-
/*
* If we are not controled, we can close the file,
* since we read everything we needed.