mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-11-24 03:48:10 +01:00
util: add talloc-extra.[ch]
These are intended to be simple wrappers to provide slightly better debugging information than what talloc currently provides natively.
This commit is contained in:
parent
3380498042
commit
0cfb8a24dc
4 changed files with 34 additions and 2 deletions
|
@ -58,7 +58,7 @@ typedef GMimeCipherContext notmuch_crypto_context_t;
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <signal.h>
|
#include <signal.h>
|
||||||
|
|
||||||
#include <talloc.h>
|
#include "talloc-extra.h"
|
||||||
|
|
||||||
#define unused(x) x __attribute__ ((unused))
|
#define unused(x) x __attribute__ ((unused))
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,7 @@ dir := util
|
||||||
extra_cflags += -I$(srcdir)/$(dir)
|
extra_cflags += -I$(srcdir)/$(dir)
|
||||||
|
|
||||||
libutil_c_srcs := $(dir)/xutil.c $(dir)/error_util.c $(dir)/hex-escape.c \
|
libutil_c_srcs := $(dir)/xutil.c $(dir)/error_util.c $(dir)/hex-escape.c \
|
||||||
$(dir)/string-util.c
|
$(dir)/string-util.c $(dir)/talloc-extra.c
|
||||||
|
|
||||||
libutil_modules := $(libutil_c_srcs:.c=.o)
|
libutil_modules := $(libutil_c_srcs:.c=.o)
|
||||||
|
|
||||||
|
|
14
util/talloc-extra.c
Normal file
14
util/talloc-extra.c
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
#include <string.h>
|
||||||
|
#include "talloc-extra.h"
|
||||||
|
|
||||||
|
char *
|
||||||
|
talloc_strndup_named_const (void *ctx, const char *str,
|
||||||
|
size_t len, const char *name)
|
||||||
|
{
|
||||||
|
char *ptr = talloc_strndup (ctx, str, len);
|
||||||
|
|
||||||
|
if (ptr)
|
||||||
|
talloc_set_name_const (ptr, name);
|
||||||
|
|
||||||
|
return ptr;
|
||||||
|
}
|
18
util/talloc-extra.h
Normal file
18
util/talloc-extra.h
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
#ifndef _TALLOC_EXTRA_H
|
||||||
|
#define _TALLOC_EXTRA_H
|
||||||
|
|
||||||
|
#include <talloc.h>
|
||||||
|
|
||||||
|
/* Like talloc_strndup, but take an extra parameter for the internal talloc
|
||||||
|
* name (for debugging) */
|
||||||
|
|
||||||
|
char *
|
||||||
|
talloc_strndup_named_const (void *ctx, const char *str,
|
||||||
|
size_t len, const char *name);
|
||||||
|
|
||||||
|
/* use the __location__ macro from talloc.h to name a string according to its
|
||||||
|
* source location */
|
||||||
|
|
||||||
|
#define talloc_strndup_debug(ctx, str, len) talloc_strndup_named_const (ctx, str, len, __location__)
|
||||||
|
|
||||||
|
#endif
|
Loading…
Reference in a new issue