X-Git-Url: http://git.tuebingen.mpg.de/?p=adu.git;a=blobdiff_plain;f=adu.h;h=adba2c6ac5264452fa532d39604e3458f47b3341;hp=31050444a6ef74dc8790b003c0376a49a78334aa;hb=560d397a66ba141f18e13557feae78ca94a25f98;hpb=f638c88fad8a1350cf56d5f60ddef297ece92805 diff --git a/adu.h b/adu.h index 3105044..adba2c6 100644 --- a/adu.h +++ b/adu.h @@ -1,10 +1,10 @@ /* - * Copyright (C) 2008 Andre Noll + * Copyright (C) 2008 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ -/** \file adu.h Global definitions. */ +/** \file adu.h \brief Global definitions. */ #include #include @@ -85,36 +85,6 @@ #endif /** \endcond */ -/** - * Write a log message to a dynamically allocated string. - * - * \param fmt Usual format string. - * \param p Result pointer. - * - * \sa printf(3). */ -#define VSPRINTF(fmt, p) \ -{ \ - int n; \ - size_t size = 100; \ - p = adu_malloc(size); \ - while (1) { \ - va_list ap; \ - /* Try to print in the allocated space. */ \ - va_start(ap, fmt); \ - n = vsnprintf(p, size, fmt, ap); \ - va_end(ap); \ - /* If that worked, return the string. */ \ - if (n > -1 && n < size) \ - break; \ - /* Else try again with more space. */ \ - if (n > -1) /* glibc 2.1 */ \ - size = n + 1; /* precisely what is needed */ \ - else /* glibc 2.0 */ \ - size *= 2; /* twice the old size */ \ - p = adu_realloc(p, size); \ - } \ -} - /** Evaluates to 1 if x < y, to -1 if x > y and to 0 if x == y. */ #define NUM_COMPARE(x, y) ((int)((x) < (y)) - (int)((x) > (y))) @@ -139,6 +109,9 @@ extern struct osl_table *dir_table; /** The adu command line options. */ extern struct gengetopt_args_info conf; +/** Computed database dir. */ +extern char *database_dir; + /** * The select command line options. * @@ -157,7 +130,7 @@ extern struct select_args_info select_conf; * * \sa osl_compare_func, osl_hash_compare(). */ -static inline int uint64_compare(const struct osl_object *obj1, +_static_inline_ int uint64_compare(const struct osl_object *obj1, const struct osl_object *obj2) { uint64_t d1 = read_u64((const char *)obj1->data); @@ -180,7 +153,7 @@ static inline int uint64_compare(const struct osl_object *obj1, * equal, the address of \a obj1 and \a obj2 are compared. So this compare function * returns zero if and only if \a obj1 and \a obj2 point to the same memory area. */ -static inline int size_compare(const struct osl_object *obj1, const struct osl_object *obj2) +_static_inline_ int size_compare(const struct osl_object *obj1, const struct osl_object *obj2) { uint64_t d1 = *(uint64_t *)obj1->data; uint64_t d2 = *(uint64_t *)obj2->data;