X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Flibcore%2Flc_printf.h;h=ca8169cb53f4204d581553544d965996e7afc9ff;hb=6ccff2965d94c272f71df2a1655336af47bb7753;hp=854d048313dcc24790fc0294560ca156d1170d88;hpb=565c670ffdab6ffa6b54cfddb19be139124242cc;p=libfirm diff --git a/ir/libcore/lc_printf.h b/ir/libcore/lc_printf.h index 854d04831..ca8169cb5 100644 --- a/ir/libcore/lc_printf.h +++ b/ir/libcore/lc_printf.h @@ -17,14 +17,11 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ - - /** * Flexible printf(). * @author Sebastian Hack * @date 3.1.2005 */ - #ifndef _LIBCORE_LC_PRINTF_H #define _LIBCORE_LC_PRINTF_H @@ -35,27 +32,28 @@ #include -#include "lc_config.h" #include "lc_appendable.h" typedef struct lc_arg_occ_t { - int width; /**< The width, or 0 if not given. */ - int precision; /**< The precision, or 0 if not given */ - - const char *modifier; /**< A string of of modifiers preceding the - conversion specifier. Attention: This string is not - zero terminated. Use @c modifier_length to get the - number of valid chars in it. */ - size_t modifier_length; /**< The number of valid chars in @c modifier. */ - char conversion; /**< The conversion specifier. */ - int lc_arg_type; /**< The type of the argument as determined by the - @c get_lc_arg_type member function of the handler. */ - - unsigned flag_hash : 1; /**< @c # flag was seen. */ - unsigned flag_zero : 1; /**< @c 0 flag was seen. */ - unsigned flag_minus : 1; /**< @c - flag was seen. */ - unsigned flag_plus : 1; /**< @c + flag was seen. */ - unsigned flag_space : 1; /**< A space flag was seen. */ + int width; /**< The width, or 0 if not given. */ + int precision; /**< The precision, or 0 if not given */ + + const char *modifier; /**< A string of of modifiers preceding the + conversion specifier. Attention: This string + is not zero terminated. Use + @c modifier_length to get the number of + valid chars in it. */ + size_t modifier_length; /**< The number of valid chars in @c modifier. */ + char conversion; /**< The conversion specifier. */ + int lc_arg_type; /**< The type of the argument as determined by + the @c get_lc_arg_type member function of + the handler. */ + + unsigned flag_hash : 1; /**< @c # flag was seen. */ + unsigned flag_zero : 1; /**< @c 0 flag was seen. */ + unsigned flag_minus : 1; /**< @c - flag was seen. */ + unsigned flag_plus : 1; /**< @c + flag was seen. */ + unsigned flag_space : 1; /**< A space flag was seen. */ } lc_arg_occ_t; /** @@ -64,13 +62,13 @@ typedef struct lc_arg_occ_t { * @c ARG_TYPE macro is the name of the union member preceded by $c v_ */ typedef union { -#define LC_ARG_TYPE(type,name) type v_ ## name; +#define LC_ARG_TYPE(type,name,va_type) type v_ ## name; #include "lc_printf_arg_types.def" #undef LC_ARG_TYPE } lc_arg_value_t; enum { -#define LC_ARG_TYPE(type,name) lc_arg_type_ ## name, +#define LC_ARG_TYPE(type,name,va_type) lc_arg_type_ ## name, #include "lc_printf_arg_types.def" #undef LC_ARG_TYPE lc_arg_type_last @@ -109,10 +107,10 @@ int lc_evsnprintf(const lc_arg_env_t *env, char *buf, size_t len, const char *fm int lc_evfprintf(const lc_arg_env_t *env, FILE *f, const char *fmt, va_list args); int lc_evoprintf(const lc_arg_env_t *env, struct obstack *obst, const char *fmt, va_list args); -int lc_printf(const char *fmt, ...) LC_PRINTF(1); -int lc_snprintf(char *buf, size_t len, const char *fmt, ...) LC_PRINTF(3); -int lc_fprintf(FILE *f, const char *fmt, ...) LC_PRINTF(2); -int lc_oprintf(struct obstack *obst, const char *fmt, ...) LC_PRINTF(2); +int lc_printf(const char *fmt, ...); +int lc_snprintf(char *buf, size_t len, const char *fmt, ...); +int lc_fprintf(FILE *f, const char *fmt, ...); +int lc_oprintf(struct obstack *obst, const char *fmt, ...); int lc_vprintf(const char *fmt, va_list args); int lc_vsnprintf(char *buf, size_t len, const char *fmt, va_list args);