mirror of
https://github.com/apache/nuttx.git
synced 2026-05-23 23:28:29 +08:00
libs/libc/stdio/lib_vsprintf.c and Kconfig:
- Numbered arguments now work by using two pass parsing and an argument list.
The maximum number of numbered args is determined by CONFIG_LIBC_NL_ARGMAX
which is then copied into NL_ARGMAX.
- Size of pointer argument ('p') is determined before output.
include/limits.h: Define NL_ARGMAX (as well as some of the other 'invariant
values' per http://pubs.opengroup.org/onlinepubs/7908799/xsh/limits.h.html)
This commit is contained in:
+67
-2
@@ -1,7 +1,7 @@
|
||||
/********************************************************************************
|
||||
* include/limits.h
|
||||
*
|
||||
* Copyright (C) 2007-2009, 2014 Gregory Nutt. All rights reserved.
|
||||
* Copyright (C) 2007-2009, 2014, 2019 Gregory Nutt. All rights reserved.
|
||||
* Author: Gregory Nutt <gnutt@nuttx.org>
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@@ -197,7 +197,7 @@
|
||||
#define _POSIX_SEM_NSEMS_MAX INT_MAX
|
||||
#define _POSIX_SEM_VALUE_MAX 0x7fff
|
||||
|
||||
/* Actual limits. These values may be increased from the POSIX minimum
|
||||
/* Numerical limits. These values may be increased from the POSIX minimum
|
||||
* values above or made indeterminate
|
||||
*/
|
||||
|
||||
@@ -230,6 +230,71 @@
|
||||
#define TIMER_MAX _POSIX_TIMER_MAX
|
||||
#define CLOCKRES_MIN _POSIX_CLOCKRES_MIN
|
||||
|
||||
/* Other invariant values */
|
||||
|
||||
/* CHARCLASS_NAME_MAX
|
||||
* Maximum number of bytes in a character class name. Minimum Acceptable
|
||||
* Value: 14
|
||||
*/
|
||||
|
||||
#define CHARCLASS_NAME_MAX 14
|
||||
|
||||
/* Maximum value of digit in calls to the printf() and scanf() functions.
|
||||
* Minimum Acceptable Value: 9
|
||||
*/
|
||||
|
||||
#ifdef CONFIG_LIBC_NUMBERED_ARGS
|
||||
# ifdef CONFIG_LIBC_NL_ARGMAX
|
||||
# define NL_ARGMAX CONFIG_LIBC_NL_ARGMAX
|
||||
# else
|
||||
# define NL_ARGMAX 9
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* NL_LANGMAX
|
||||
* Maximum number of bytes in a LANG name. Minimum Acceptable Value: 14
|
||||
*/
|
||||
|
||||
#define NL_LANGMAX 14
|
||||
|
||||
/* NL_MSGMAX
|
||||
* Maximum message number. Minimum Acceptable Value: 32 67
|
||||
*/
|
||||
|
||||
#define NL_MSGMAX 32767
|
||||
|
||||
/* NL_NMAX
|
||||
* Maximum number of bytes in an N-to-1 collation mapping. Minimum
|
||||
* Acceptable Value: *
|
||||
*/
|
||||
|
||||
/* NL_SETMAX
|
||||
* Maximum set number. Minimum Acceptable Value: 255
|
||||
*/
|
||||
|
||||
#define NL_SETMAX 255
|
||||
|
||||
/* NL_TEXTMAX
|
||||
* Maximum number of bytes in a message string. Minimum Acceptable Value:
|
||||
* _POSIX2_LINE_MAX
|
||||
*/
|
||||
|
||||
#define NL_TEXTMAX _POSIX2_LINE_MAX
|
||||
|
||||
/* NZERO
|
||||
* Default process priority. Minimum Acceptable Value: 20
|
||||
*/
|
||||
|
||||
#define NZERO 20
|
||||
|
||||
/* TMP_MAX
|
||||
* Minimum number of unique pathnames generated by tmpnam(). Maximum
|
||||
* number of times an application can call tmpnam() reliably. (LEGACY)
|
||||
* Minimum Acceptable Value: 10000
|
||||
*/
|
||||
|
||||
#define TMP_MAX10000
|
||||
|
||||
/* Required for asynchronous I/O */
|
||||
|
||||
#define AIO_LISTIO_MAX _POSIX_AIO_LISTIO_MAX
|
||||
|
||||
Reference in New Issue
Block a user