chiark / gitweb /
cdb: Replace ad-hocery with use of offsetof/typeof. Closes:#812718.
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Tue, 24 Jan 2017 13:52:59 +0000 (13:52 +0000)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Tue, 24 Jan 2017 13:53:02 +0000 (13:53 +0000)
cdb/chiark_tcl_cdb.h
cdb/writeable.c
debian/changelog

index fef668c..201b8f1 100644 (file)
@@ -26,6 +26,7 @@
 
 #include <ctype.h>
 #include <stdio.h>
+#include <stddef.h>
 
 #include <cdb.h>
 
index 6b072ff..3ad0c1e 100644 (file)
@@ -75,7 +75,7 @@ typedef struct HashValue {
 
 static HashValue *htv_prep(int len) {
   HashValue *hd;
-  hd= TALLOC((hd->data - (Byte*)hd) + len);
+  hd= TALLOC(offsetof(typeof(*hd), data) + len);
   hd->len= len;
   return hd;
 }  
index 5931b0e..217cc5a 100644 (file)
@@ -7,6 +7,7 @@ chiark-tcl (1.1.4~~iwj) UNRELEASED; urgency=low
     be replaced with similar functionality elsewhere, but for now
     this change fixes the FTBFS on Debian hurd-* and kfreebsd-*.
   * Update build-dependencies to permit tcl8.6.  Closes:#818475.
+  * Replace ad-hocery with use of offsetof/typeof.  Closes:#812718.
 
  -- Ian Jackson <ijackson@chiark.greenend.org.uk>  Tue, 24 Jan 2017 13:14:06 +0000