diff options
| author | Manuel A. Fernandez Montecelo <manuel.montezelo@gmail.com> | 2016-05-27 14:35:16 +0100 | 
|---|---|---|
| committer | Manuel A. Fernandez Montecelo <manuel.montezelo@gmail.com> | 2016-05-27 14:35:16 +0100 | 
| commit | 3590c846d4c2febbc05b4ad6b14a06edc549e453 (patch) | |
| tree | e5d38581c2f36e1cca02efedd2d85044d77f76f9 /lib/printf-parse.h | |
| parent | a9a31b1de5776a3b08a82101a4fa711294f0dd1d (diff) | |
Imported Upstream version 0.9.6+really0.9.6upstream/0.9.6+really0.9.6
Diffstat (limited to 'lib/printf-parse.h')
| -rw-r--r-- | lib/printf-parse.h | 19 | 
1 files changed, 16 insertions, 3 deletions
| diff --git a/lib/printf-parse.h b/lib/printf-parse.h index 2cf965bb..d35ffcaf 100644 --- a/lib/printf-parse.h +++ b/lib/printf-parse.h @@ -1,5 +1,5 @@  /* Parse printf format string. -   Copyright (C) 1999, 2002-2003, 2005, 2007, 2009-2010 Free Software +   Copyright (C) 1999, 2002-2003, 2005, 2007, 2010-2015 Free Software     Foundation, Inc.     This program is free software; you can redistribute it and/or modify @@ -13,8 +13,7 @@     GNU Lesser General Public License for more details.     You should have received a copy of the GNU Lesser General Public License along -   with this program; if not, write to the Free Software Foundation, -   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */ +   with this program; if not, see <http://www.gnu.org/licenses/>.  */  #ifndef _PRINTF_PARSE_H  #define _PRINTF_PARSE_H @@ -23,6 +22,10 @@       ENABLE_UNISTDIO    Set to 1 to enable the unistdio extensions.       STATIC             Set to 'static' to declare the function static.  */ +#if HAVE_FEATURES_H +# include <features.h> /* for __GLIBC__, __UCLIBC__ */ +#endif +  #include "printf-args.h" @@ -33,6 +36,9 @@  #define FLAG_SPACE       8      /* space flag */  #define FLAG_ALT        16      /* # flag */  #define FLAG_ZERO       32 +#if __GLIBC__ >= 2 && !defined __UCLIBC__ +# define FLAG_LOCALIZED 64      /* I flag, uses localized digits */ +#endif  /* arg_index value indicating that no argument is consumed.  */  #define ARG_NONE        (~(size_t)0) @@ -40,6 +46,9 @@  /* xxx_directive: A parsed directive.     xxx_directives: A parsed format string.  */ +/* Number of directly allocated directives (no malloc() needed).  */ +#define N_DIRECT_ALLOC_DIRECTIVES 7 +  /* A parsed directive.  */  typedef struct  { @@ -64,6 +73,7 @@ typedef struct    char_directive *dir;    size_t max_width_length;    size_t max_precision_length; +  char_directive direct_alloc_dir[N_DIRECT_ALLOC_DIRECTIVES];  }  char_directives; @@ -93,6 +103,7 @@ typedef struct    u8_directive *dir;    size_t max_width_length;    size_t max_precision_length; +  u8_directive direct_alloc_dir[N_DIRECT_ALLOC_DIRECTIVES];  }  u8_directives; @@ -120,6 +131,7 @@ typedef struct    u16_directive *dir;    size_t max_width_length;    size_t max_precision_length; +  u16_directive direct_alloc_dir[N_DIRECT_ALLOC_DIRECTIVES];  }  u16_directives; @@ -147,6 +159,7 @@ typedef struct    u32_directive *dir;    size_t max_width_length;    size_t max_precision_length; +  u32_directive direct_alloc_dir[N_DIRECT_ALLOC_DIRECTIVES];  }  u32_directives; | 
