chiark / gitweb /
debian/changelog: Write most of changelog for 0.4.x
[secnet.git] / secnet.h
index eb250a4a4fc3c38b3ababaef20ba595d23b9fa09..8e5dad05d964b55cdfa9a0a735f753100b0690d6 100644 (file)
--- a/secnet.h
+++ b/secnet.h
@@ -180,6 +180,16 @@ extern void *safe_malloc_ary(size_t size, size_t count, const char *message);
 extern void *safe_realloc_ary(void *p, size_t size, size_t count,
                              const char *message);
 
+#define NEW(p)                                 \
+    ((p)=safe_malloc(sizeof(*(p)),             \
+                    __FILE__ ":" #p))
+#define NEW_ARY(p,count)                                       \
+    ((p)=safe_malloc_ary(sizeof(*(p)),(count),                 \
+                        __FILE__ ":" #p "[" #count "]"))
+#define REALLOC_ARY(p,count)                                   \
+    ((p)=safe_realloc_ary((p),sizeof(*(p)),(count),            \
+                         __FILE__ ":" #p "[" #count "]"))
+
 void setcloexec(int fd); /* cannot fail */
 void setnonblock(int fd); /* cannot fail */
 void pipe_cloexec(int fd[2]); /* pipe(), setcloexec() twice; cannot fail */
@@ -431,7 +441,8 @@ struct comm_if {
     comm_addr_to_string_fn *addr_to_string;
 };
 
-bool_t iaddr_equal(const union iaddr *ia, const union iaddr *ib);
+bool_t iaddr_equal(const union iaddr *ia, const union iaddr *ib,
+                  bool_t ignoreport);
 
 static inline const char *comm_addr_to_string(const struct comm_addr *ca)
 {
@@ -441,7 +452,7 @@ static inline const char *comm_addr_to_string(const struct comm_addr *ca)
 static inline bool_t comm_addr_equal(const struct comm_addr *a,
                                     const struct comm_addr *b)
 {
-    return a->comm==b->comm && iaddr_equal(&a->ia,&b->ia);
+    return a->comm==b->comm && iaddr_equal(&a->ia,&b->ia,False);
 }
 
 /* LOG interface */