diff options
author | Sergey Poznyakoff <gray@gnu.org.ua> | 2013-11-07 13:46:12 +0200 |
---|---|---|
committer | Sergey Poznyakoff <gray@gnu.org.ua> | 2013-11-07 13:46:12 +0200 |
commit | ac4200fa46eebfc9227130739ae7f867e3fd0a20 (patch) | |
tree | dcfda4ae2e86aba36ea5b34296fb5972dd715ebd | |
parent | 29aae24c51c9682a789c09e37e631b886affcbf7 (diff) | |
download | vmod-binlog-ac4200fa46eebfc9227130739ae7f867e3fd0a20.tar.gz vmod-binlog-ac4200fa46eebfc9227130739ae7f867e3fd0a20.tar.bz2 |
Fix interval initialization from the module_init function.
* doc/vmod-binlog.3: Update.
* src/binlogsel.c (interval) <name>: Remove const.
(interval_add): duplicate the name.
* src/xalloc.c (xstrdup): New function.
* src/xalloc.h: Likewise.
-rw-r--r-- | doc/vmod-binlog.3 | 8 | ||||
-rw-r--r-- | src/binlogsel.c | 4 | ||||
-rw-r--r-- | src/xalloc.c | 5 | ||||
-rw-r--r-- | src/xalloc.h | 1 |
4 files changed, 12 insertions, 6 deletions
diff --git a/doc/vmod-binlog.3 b/doc/vmod-binlog.3 index 42dcccc..7f66dea 100644 --- a/doc/vmod-binlog.3 +++ b/doc/vmod-binlog.3 @@ -15,3 +15,3 @@ .\" along with vmod-binlog. If not, see <http://www.gnu.org/licenses/>. -.TH VMOD-BINLOG 1 "October 22, 2013" "VMOD-BINLOG" "User Reference" +.TH VMOD-BINLOG 1 "October 23, 2013" "VMOD-BINLOG" "User Reference" .SH NAME @@ -171,3 +171,3 @@ L Z256 .PP -(i.e. a 32-bit unsigned long value, followed by a string of up to 256 +(i.e. a 32-bit unsigned long value, followed by a string of up to 255 characters). Given this, the following sequence of \fBVCL\fR commands @@ -190,5 +190,5 @@ The valid template letters are: .TP -.BI Z [N] +.BI Z[ N ] A null-terminated (ASCIZ) string of at most N-1 characters, will be -null padded. This letter must be followed by repeat count. +null padded. The repeat count is mandatory. .TP diff --git a/src/binlogsel.c b/src/binlogsel.c index 547b4ec..80f5b83 100644 --- a/src/binlogsel.c +++ b/src/binlogsel.c @@ -70,3 +70,3 @@ struct interval { struct interval *next; - const char *name; + char *name; int timemask; @@ -83,3 +83,3 @@ interval_add(const char *name, int tmask, time_t start, time_t end) p->next = NULL; - p->name = name; + p->name = xstrdup(name); p->timemask = tmask; diff --git a/src/xalloc.c b/src/xalloc.c index d12a04c..6ab6802 100644 --- a/src/xalloc.c +++ b/src/xalloc.c @@ -51,2 +51,7 @@ xmemdup(void const *p, size_t s) +char * +xstrdup(const char *s) +{ + return xmemdup(s, strlen(s) + 1); +} diff --git a/src/xalloc.h b/src/xalloc.h index da7922f..eb49573 100644 --- a/src/xalloc.h +++ b/src/xalloc.h @@ -3 +3,2 @@ void *xmemdup(void const *p, size_t s); void *xcalloc(size_t count, size_t size); +char *xstrdup(const char *s); |