about summary refs log tree commit diff
path: root/stdio-common/reg-modifier.c
Commit message (Collapse)AuthorAgeFilesLines
* * stdio-common/printf.h: Add missing const to register_printf_modifier.Ulrich Drepper2009-04-231-2/+2
| | | | | | | | | * stdio-common/reg-modifier.c: Likewise. 2009-04-22 Andrew Stubbs <ams@codesourcery.com> * sysdeps/sh/sh4/setjmp.S (__sigsetjmp): Adjust JB_SIZE when there is no FPU.
* * sysdeps/x86-64/strrchr.S: New file.Ulrich Drepper2009-04-141-1/+1
|
* * stdio-common/printf.h (struct printf_info): Add user element.Ulrich Drepper2009-04-111-0/+202
New types printf_arginfo_size_function, printf_va_arg_function. Declare register_printf_specifier, register_printf_modifier, register_printf_type. * stdio-common/printf-parse.h (struct printf_spec): Add size element. (union printf_arg): Add pa_user element. Adjust __printf_arginfo_table type. Add __printf_va_arg_table, __printf_modifier_table, __handle_registered_modifier_mb, and __handle_registered_modifier_wc declarations. * stdio-common/printf-parsemb.c: Recognize registered modifiers. If registered arginfo call failed try normal specifier. * stdio-common/printf-prs.c: Pass additional parameter to arginfo function. * stdio-common/Makefile (routines): Add reg-modifier and reg-type. * stdio-common/Versions: Export register_printf_modifier, register_printf_type, and register_printf_specifier for GLIBC_2.10. * stdio-common/reg-modifier.c: New file. * stdio-common/reg-type.c: New file. * stdio-common/reg-printf.c (__register_printf_specifier): New function. Mostly the old __register_printf_function function but uses locking and type of third parameter changed. (__register_printf_function): Implement using __register_printf_specifier. * stdio-common/vfprintf.c (vfprintf): Collect argument sizes in calls to arginfo functions. Allocate enough memory for user-defined types. Call new va_arg functions to get user-defined types. Try installed handlers even for existing format specifiers first.