X-Git-Url: http://git.liburcu.org/?p=ust.git;a=blobdiff_plain;f=libustinstr-malloc%2Fmallocwrap.c;h=6e66856908df2cfa0bf5edc8b871c00d186469b3;hp=a7730c9b2b0866cf6b5eeddf22b9d8a7f94c37ea;hb=b27f8e75a6e762ed01b889560431476516786d9f;hpb=fd0a1aea7b67696a87ffe70b8d3d8c15424f0bca diff --git a/libustinstr-malloc/mallocwrap.c b/libustinstr-malloc/mallocwrap.c index a7730c9..6e66856 100644 --- a/libustinstr-malloc/mallocwrap.c +++ b/libustinstr-malloc/mallocwrap.c @@ -1,4 +1,5 @@ -/* Copyright (C) 2009 Pierre-Marc Fournier +/* + * Copyright (C) 2009 Pierre-Marc Fournier * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -19,55 +20,16 @@ #include #include #include - #include -#if 0 -INTERCEPT_PROTOTYPE(void, malloc, size_t size) -INTERCEPT_TRACE("size %d", size) -INTERCEPT_CALL_ARGS(size) -INTERCEPT() - -#define INTERCEPT_FUNC(type, name, args...) \ -__I_FUNC_TYPE(type) \ -__I_FUNC_NAME(name) \ -__I_FUNC_ARGS(args) - -#define INTERCEPT_TRACE(fmt, args...) \ -#define __I_TRACE_FMT fmt \ -#define __I_TRACE_ARGS args - -#define INTERCEPT_CALL_ARGS(args...) \ -#define __I_CALL_ARGS args - -#define INTERCEPT() \ -__I_FUNC_TYPE __I_FUNC_NAME(__I_FUNC_ARGS) \ -{ \ - static __I_FUNC_TYPE (*plibc_ ## __I_FUNC_NAME)(args) = NULL; \ - \ - if(plibc_ ## __I_FUNC_NAME == NULL) { \ - plibc_ ## __I_FUNC_NAME = dlsym(RTLD_NEXT, "malloc"); \ - if(plibc_ ## __I_FUNC_NAME == NULL) { \ - fprintf(stderr, "mallocwrap: unable to find malloc\n"); \ - return NULL; \ - } \ - } \ - \ - ust_marker(ust, __I_FUNC_NAME, __I_TRACE_FMT, __I_TRACE_ARGS); \ - \ - return plibc_ ## __I_FUNC_NAME (__I_CALL_ARGS); \ -} -#endif - void *malloc(size_t size) { static void *(*plibc_malloc)(size_t size) = NULL; - void *retval; - if(plibc_malloc == NULL) { + if (plibc_malloc == NULL) { plibc_malloc = dlsym(RTLD_NEXT, "malloc"); - if(plibc_malloc == NULL) { + if (plibc_malloc == NULL) { fprintf(stderr, "mallocwrap: unable to find malloc\n"); return NULL; } @@ -84,9 +46,9 @@ void free(void *ptr) { static void *(*plibc_free)(void *ptr) = NULL; - if(plibc_free == NULL) { + if (plibc_free == NULL) { plibc_free = dlsym(RTLD_NEXT, "free"); - if(plibc_free == NULL) { + if (plibc_free == NULL) { fprintf(stderr, "mallocwrap: unable to find free\n"); return; }