mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-11-23 19:38:07 +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 <signal.h>
|
||||
|
||||
#include <talloc.h>
|
||||
#include "talloc-extra.h"
|
||||
|
||||
#define unused(x) x __attribute__ ((unused))
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@ dir := util
|
|||
extra_cflags += -I$(srcdir)/$(dir)
|
||||
|
||||
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)
|
||||
|
||||
|
|
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