]> git.sur5r.net Git - openldap/commitdiff
ITS#6303: fix broken variant of the struct hack
authorHallvard Furuseth <hallvard@openldap.org>
Tue, 29 Sep 2009 22:45:34 +0000 (22:45 +0000)
committerHallvard Furuseth <hallvard@openldap.org>
Tue, 29 Sep 2009 22:45:34 +0000 (22:45 +0000)
servers/slapd/back-ldif/ldif.c

index 9a4ad7ad56f485232a13506e5994511baaf6eedd..128419341dc9abcd73de6d9d212187f74d219742 100644 (file)
@@ -593,9 +593,9 @@ typedef struct bvlist {
        char *trunc;    /* filename was truncated here */
        int  inum;              /* num from "attr={num}" in filename, or INT_MIN */
        char savech;    /* original char at *trunc */
-       char fname;             /* variable length array BVL_NAME(bvl) = &fname */
-#      define BVL_NAME(bvl) ((char *) (bvl) + offsetof(bvlist, fname))
-#      define BVL_SIZE(namelen) (sizeof(bvlist) + (namelen))
+       /* BVL_NAME(&bvlist) is the filename, allocated after the struct: */
+#      define BVL_NAME(bvl)     ((char *) ((bvl) + 1))
+#      define BVL_SIZE(namelen) (sizeof(bvlist) + (namelen) + 1)
 } bvlist;
 
 static int