X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?p=secnet.git;a=blobdiff_plain;f=secnet.h;h=8e5dad05d964b55cdfa9a0a735f753100b0690d6;hp=96717aea61eadd6ab18a05120bbe45dd1b19e67b;hb=1e36b4e961c3d6a03975b5cff4cb9047807cb2d4;hpb=9c44ef13ed639445ee2e8a4037f7b3c5fcc11aa2 diff --git a/secnet.h b/secnet.h index 96717ae..8e5dad0 100644 --- 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 */