Xiang Xiao
b869c1ce0e
libc: Move stream implementation from libs/libc/stdio to libs/libc/stream
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-12-14 00:51:59 -06:00
chao.an
d3a07ca26c
libs/printf: add support for print symbol name
...
Show a '%p' thing. A nuttx extension is that the '%p' is followed
by an extra set of alphanumeric characters that are extended format
specifiers.
* - 'S' For symbolic direct pointers (or function descriptors) with offset
* - 's' For symbolic direct pointers (or function descriptors) without offset
printf("%ps %pS\n", ptr, ptr) will print:
module_start module_start+0x0/0x62
Signed-off-by: chao.an <anchao@xiaomi.com>
2021-12-13 08:31:13 -06:00
Xiang Xiao
5da9dbe57a
libc/gets: Remove the unnecessary cast
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-11-27 16:07:39 -03:00
Xiang Xiao
b5f6dcb523
libc/getdelim: Remove __KERNEL__ check since it shouldn't be called inside kernel
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-11-27 16:07:39 -03:00
chao.an
f3b019d1d2
libc/stdoutstream: restore the output method to fputc()
...
keep the default behavior for stdoutstream since the character
needs to flush every output
Signed-off-by: chao.an <anchao@xiaomi.com>
2021-11-24 15:50:33 +09:00
chao.an
e228434cea
libs/libc: add interface to support output stream as buffer style
...
Signed-off-by: chao.an <anchao@xiaomi.com>
2021-11-23 21:00:43 -06:00
Xiang Xiao
55311ea3df
libc/stdio: Move source files to the right Makefile section
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-11-19 08:21:27 -03:00
Xiang Xiao
fe94670ca9
lib/stdio: Handle 64bits off_t correctly
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-11-18 10:06:27 -05:00
Xiang Xiao
bd2327cc2d
libc: Make perror/putchar/getchar/puts work without CONFIG_FILE_STREAM
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-11-18 06:29:09 -08:00
Xiang Xiao
aa9c17e93d
libc: Move lib_filesem.c and lib_stream.c to libc/stdio
...
since it make more sense to put all FILE functions in one place
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-11-02 09:00:11 +01:00
Xiang Xiao
ad2f82898a
libc/misc: Add lib_ prefix to stream_semtake and tream_semgive
...
and merge lib_streamsem.c to lib_stream.c
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-11-02 09:00:11 +01:00
Xiang Xiao
1e607a70bc
libc/vsprintf_internal: Call va_copy just like vsyslog
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-10-11 16:39:44 -03:00
Xiang Xiao
82813472d1
lib/vasprintf: Shouldn't call va_end(ap) to avoid the double free
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-10-11 16:39:44 -03:00
Jiuzhu Dong
dfb4b6e3d8
lib_vsprintf: Add %pV format support
...
test case:
void test(const char *fmt, ...)
{
struct va_format vaf;
va_list ap;
va_start(ap, fmt);
vaf.fmt = fmt;
vaf.va = ≈
printf("func:%s, %pV, line:%d\n", __func__, &vaf, __LINE__);
va_end(ap);
}
int main(int argc, FAR char *argv[])
{
char str[] = "Hello Boy and Girl!";
int count = 10;
test("%s %d", str, count);
return 0;
}
>> test
func:test, Hello Boy and Girl! 10, line:49
Signed-off-by: Jiuzhu Dong <dongjiuzhu1@xiaomi.com>
2021-09-12 21:14:46 +08:00
Jiuzhu Dong
34397094d7
lib_fread: return the number of bytes actually read when error occurs.
...
Signed-off-by: Jiuzhu Dong <dongjiuzhu1@xiaomi.com>
2021-09-12 11:36:03 +08:00
Xiang Xiao
d242861c44
libc: Remove the legacy printf support
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-08-25 12:55:36 -07:00
Nathan Hartman
b92aeb8209
Fix various typos
...
arch/arm/src/eoss3/eoss3_serial.c:
arch/arm/src/imxrt/hardware/imxrt_flexcan.h:
arch/arm/src/imxrt/imxrt_flexcan.c:
arch/arm/src/imxrt/imxrt_flexpwm.c:
arch/arm/src/imxrt/imxrt_lpi2c.c:
arch/arm/src/kinetis/kinetis_flexcan.c:
arch/arm/src/nrf52/hardware/nrf52_rtc.h:
arch/arm/src/nrf52/nrf52_clockconfig.c:
arch/arm/src/nrf52/nrf52_radio.c:
arch/arm/src/nrf52/nrf52_tim.c:
arch/arm/src/rtl8720c/amebaz_depend.c:
arch/arm/src/s32k1xx/Kconfig:
arch/arm/src/s32k1xx/s32k1xx_flexcan.c:
arch/arm/src/s32k1xx/s32k1xx_lpi2c.c:
arch/arm/src/sama5/hardware/sam_sdmmc.h:
arch/arm/src/sama5/sam_gmac.c:
arch/arm/src/samd5e5/sam_wdt.c:
arch/avr/src/avr32/up_exceptions.S:
arch/avr/src/avr32/up_fullcontextrestore.S:
arch/renesas/src/rx65n/rx65n_dtc.c:
arch/renesas/src/rx65n/rx65n_usbhost.c:
arch/risc-v/src/esp32c3/esp32c3_tickless.c:
boards/arm/stm32h7/stm32h747i-disco/include/board.h:
include/nuttx/lcd/ili9225.h:
libs/libc/stdio/lib_fgetpos.c:
libs/libc/stdio/lib_fseek.c:
libs/libc/stdio/lib_fsetpos.c:
* Fix typos.
2021-07-25 18:36:53 -07:00
Nathan Hartman
ce20211357
Fix various typos in comments and documentation
...
Fix typos in these files:
* Documentation/components/drivers/character/foc.rst
* Documentation/guides/cpp_cmake.rst
* Kconfig
* arch/arm/src/imxrt/imxrt_lpspi.c
* arch/arm/src/kinetis/kinetis_spi.c
* arch/arm/src/kl/kl_spi.c
* arch/arm/src/lpc31xx/lpc31_spi.c
* arch/arm/src/nrf52/nrf52_radio.h
* arch/arm/src/s32k1xx/s32k1xx_lpspi.c
* arch/arm/src/stm32/Kconfig
* arch/arm/src/stm32/stm32_adc.c
* arch/arm/src/stm32/stm32_foc.c
* arch/arm/src/stm32/stm32_foc.h
* arch/arm/src/stm32/stm32_pwm.c
* arch/arm/src/stm32/stm32_spi.c
* arch/arm/src/stm32f0l0g0/stm32_spi.c
* arch/arm/src/stm32f7/Kconfig
* arch/arm/src/stm32f7/stm32_spi.c
* arch/arm/src/stm32h7/Kconfig
* arch/arm/src/stm32h7/stm32_allocateheap.c
* arch/arm/src/stm32h7/stm32_fmc.c
* arch/arm/src/stm32h7/stm32_fmc.h
* arch/arm/src/stm32h7/stm32_pwm.c
* arch/arm/src/stm32h7/stm32_qspi.c
* arch/arm/src/stm32h7/stm32_spi.c
* arch/arm/src/stm32l4/stm32l4_pwm.c
* arch/arm/src/stm32l4/stm32l4_spi.c
* arch/arm/src/stm32l5/Kconfig
* arch/arm/src/stm32l5/stm32l5_spi.c
* arch/renesas/src/rx65n/rx65n_dtc.c
* arch/renesas/src/rx65n/rx65n_usbdev.c
* arch/risc-v/src/rv32m1/rv32m1_serial.c
* boards/arm/stm32/b-g431b-esc1/src/stm32_foc.c
* boards/arm/stm32/nucleo-f103rb/src/stm32_foc_ihm07m1.c
* boards/arm/stm32/nucleo-f302r8/src/stm32_foc_ihm07m1.c
* boards/arm/stm32h7/nucleo-h743zi2/README.txt
* boards/risc-v/rv32m1/rv32m1-vega/README.txt
* boards/sim/sim/sim/scripts/Make.defs
* drivers/1wire/1wire.c
* drivers/1wire/1wire_internal.h
* drivers/lcd/Kconfig
* drivers/syslog/ramlog.c
* fs/fat/Kconfig
* libs/libc/debug/Kconfig
* libs/libc/machine/Kconfig
* libs/libc/stdio/lib_libvsprintf.c
* libs/libc/stdlib/lib_div.c
* libs/libc/stdlib/lib_ldiv.c
* libs/libc/stdlib/lib_lldiv.c
* libs/libdsp/lib_observer.c
2021-07-04 11:23:26 -05:00
Xiang Xiao
2e54df0f35
Don't include assert.h from public header file
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-06-03 08:36:03 -07:00
Alin Jerpelea
c6252c9e32
libs: libc: update licenses to Apache
...
Gregory Nutt is the copyright holder for those files and he has submitted the
SGA as a result we can migrate the licenses to Apache.
Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2021-05-27 08:07:25 +09:00
Xiang Xiao
3f9908f7d1
Remove the unnecessary math.h inclusion
...
or move from header file to source file since math.h doesn't always exist
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-04-12 22:58:23 -04:00
Alexander Vasiljev
74230c5371
lib_fgets: don't check for printability, as it doesn't allow to work with extended ASCII
2021-04-07 08:29:46 -03:00
liuhaitao
bcaf5d75e5
libc: update stream getoffset to handle write case
...
Change-Id: I80b01b446446d5a631d40822f220a0177a95e7e6
Signed-off-by: liuhaitao <liuhaitao@xiaomi.com>
2021-04-07 00:59:36 -05:00
Alin Jerpelea
b7c451c5a4
libs: Gregory Nutt: update licenses to Apache
...
Gregory Nutt has submitted the SGA and we can migrate the licenses
to Apache.
Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2021-04-02 11:12:25 -05:00
Alin Jerpelea
ed8e5e971b
libs: fix nxstyle errors
...
fix erros reported by nxstyle
Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2021-04-02 11:12:25 -05:00
Alin Jerpelea
ce66f7b081
NuttX: Johannes Schock: update licenses to Apache
...
Johannes Schock has submitted the ICLA and we can migrate the licenses
to Apache.
Gregory Nutt has submitted the SGA and we can migrate the licenses
to Apache.
Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2021-04-01 12:13:12 -05:00
Alin Jerpelea
ba9865bfc8
libs: Author Sebastien Lorquet: update licenses to Apache
...
Sebastien Lorquet has submitted the ICL and we can migrate the licenses
to Apache.
Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2021-03-20 19:22:58 -07:00
SPRESENSE
d5f66e5583
stdio/lib_clearerr: Did not clear stream buffer flags in clearerr
...
Stream buffer flags has a dependency with allocated buffer,
and it cannot clear without buffer operation.
Change clearerr to keep buffer flags to prevent unexpected
buffer operation.
2021-03-17 03:15:17 -07:00
Alin Jerpelea
d66d881b87
nxstyle fixes
...
nxstyle fixes to pass CI
Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2021-03-13 05:56:43 -08:00
Alin Jerpelea
ce28c6c06c
libs: Alan Carvalho de Assis: update licenses to Apache
...
Alan Carvalho de Assis has submitted the SGA and we can migrate the licenses
to Apache.
Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2021-03-13 05:56:43 -08:00
Gustavo Henrique Nihei
330eff36d7
sourcefiles: Fix relative path in file header
2021-03-09 23:18:28 +08:00
Alin Jerpelea
d6b50a1d3f
libs: nxstyle fixes
...
nxstyle fixes to pass the CI checks
Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2021-03-03 18:52:53 -08:00
Alin Jerpelea
b5d4a01821
libs: Author Gregory Nutt: update licenses to Apache
...
Gregory Nutt has submitted the SGA and we can migrate the licenses
to Apache.
Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2021-03-03 18:52:53 -08:00
Xiang Xiao
151cf49562
Fix nxstyle warning
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-03-01 09:23:09 +09:00
Xiang Xiao
9473434587
Ensure the kernel component don't call userspace API
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-03-01 09:23:09 +09:00
Xiang Xiao
5f387bebc6
fs: Don't call _NX_SETERRNO in fopen and fdopen
...
since fs_fdopen always return the error code directly
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-02-21 12:40:43 +00:00
Juha Niskanen
eaa75b11f8
libs/libc: fix typos in comments
...
Signed-off-by: Juha Niskanen <juha.niskanen@haltian.com>
2020-12-13 09:06:28 -06:00
YAMAMOTO Takashi
f307d999e6
lib_libvsprintf.c: Implement "t" modifier for printf
...
Introduced by C99 for ptrdiff_t.
2020-11-10 00:03:06 -08:00
Xiang Xiao
2b9282d5ee
libc: Skip close stdin/stdout/stderr in fclose
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-10-26 22:16:53 -07:00
ligd
b69c587dc9
stdio: remove depends on setbuf setvbuf
...
N/A
Cause the function realize will handle this
Change-Id: I154c21c7a40667afae423bb0ebb67de8f5fc42fd
Signed-off-by: ligd <liguiding1@xiaomi.com>
2020-10-26 22:12:02 -07:00
Xiang Xiao
9928088868
libc: Don't fclose and fopen file in freopen
...
to avoid FILE pointer change after this commit:
commit b0797263ca
Author: Xiang Xiao <xiaoxiang@xiaomi.com>
Date: Thu Aug 13 18:17:29 2020 +0800
libc/stdio: Allocate file_struct dynamically
1.Reduce the default size of task_group_s(~512B each task)
2.Scale better between simple and complex application
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-10-19 21:31:31 -07:00
YAMAMOTO Takashi
3e6561c3cf
lib_libvscanf.c: Implement "j" modifier for scanf
...
It's a part of C99 and commonly used these days.
2020-09-23 03:28:40 -07:00
chao.an
4067a9f057
libs/libc/stdio: correct the prototype of mktemp(3)
...
From: int mktemp(FAR char *path_template);
To: FAR char *mktemp(FAR char *path_template);
See the reference here:
https://pubs.opengroup.org/onlinepubs/009695399/functions/mktemp.html
Signed-off-by: chao.an <anchao@xiaomi.com>
2020-09-19 04:16:14 -07:00
ligd
c11c1dc8fd
libs/libc/stdio: replace double_t to double
...
Modify reason:
When build Nuttx SIM, in x86_64 system:
Compile with gcc option '-m64' (default):
sizeof(double_t) = 8
sizeof(double) = 8
Compile with gcc option '-mx32':
sizeof(double_t) = 8
sizeof(double) = 8
Compile with gcc option '-m32':
sizeof(double_t) = 12 // long double
sizeof(double) = 8
When use '-m32', and print sth. like this:
printf("%f\n", (double)3.0);
SIM will print out: nan
This is because sizeof(double_t) is not equal with double.
Resolve:
replace all double_t to double in libs/libc/stdio.
As a user of '-m32', you should know double_t is one type
long double, and len is 12. And you use use '%lf' to print.
like:
printf("%lf\n", (double_t)3.0);
Currently we don't support '%lf'.
Change-Id: I9b9d11853140d5296dd80416c8ed6a260a9d2d9c
Signed-off-by: ligd <liguiding1@xiaomi.com>
2020-09-15 14:42:36 +08:00
Xiang Xiao
b0797263ca
libc/stdio: Allocate file_struct dynamically
...
1.Reduce the default size of task_group_s(~512B each task)
2.Scale better between simple and complex application
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: Ia872137504fddcf64d89c48d6f0593d76d582710
2020-09-11 17:58:17 +08:00
Xiang Xiao
a7a81b5126
libc: Replace all [nx]sem_xxx with _SEM_XXX
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: I34f407ccd52391588ac1b720fce59d24458fe218
2020-08-18 07:59:21 -07:00
chao.an
82caa786cc
libc/fopen: add open for text (translated) access support
...
Change-Id: I5bb4e01a91a0f8ea82437cdcba191c484aa1b77f
Signed-off-by: chao.an <anchao@xiaomi.com>
2020-08-16 00:01:36 +01:00
YAMAMOTO Takashi
39ed1417d8
lib_libfread.c: Replace Gregory Nutt's copyright notice with Apache 2.0
...
The new license text was copied from sched_getcpu.c.
2020-07-30 16:16:21 +02:00
YAMAMOTO Takashi
15590005d0
lib_libfread.c: nxstyle fixes
2020-07-30 16:16:21 +02:00
YAMAMOTO Takashi
d02354c766
libs/libc/stdio/lib_libfread.c: Remove a redundant assignment
...
Found by clang-check:
stdio/lib_libfread.c:75:7: warning: Value stored to 'bytes_read' is never read
bytes_read = -1;
^ ~~
1 warning generated.
2020-07-30 16:16:21 +02:00
Xiang Xiao
1cb1fb427d
libc: Replace all malloc/free to lib_malloc/lib_free
...
since libc can be built and used in kernel space,
we must call kmm_malloc and kmm_free in this case.
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-07-29 10:14:27 +01:00
Xiang Xiao
60fe0a0f96
libc: Refine the inline handling
...
1.Remove CONFIG_HAVE_INLINE macro
2.Change the ANSI C function to normal function
3.Other simple non ANSI function to macro
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-07-04 11:10:29 +09:00
Xiang Xiao
43b613877d
libc/stdio: Remove sys/types.h inclusion for printf/scanf
...
since double_t move from sys/types.h to math.h now and remove
math.h inclusion too because lib_dtoa_engine.h already include
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: I3497a73908301d999cf1cfc4a66552a7ca4868c6
2020-06-29 16:25:22 +01:00
Xiang Xiao
d17b963bca
libc: Move double_t typedef from sys/types.h to math.h
...
specified here:
https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/math.h.html
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: I3497a73908301d999cf1cfc4a66552a7ca4868c6
2020-06-29 13:37:41 +01:00
Xiang Xiao
676a2b77f8
stdio.h: Implement fseeko and ftello function
...
specified here:
https://pubs.opengroup.org/onlinepubs/9699919799/functions/fseek.html
https://pubs.opengroup.org/onlinepubs/9699919799/functions/ftell.html
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-06-29 14:26:19 +09:00
YAMAMOTO Takashi
ef5d204fd2
rewind: clear the error indicator
...
Make rewind() clear the error indicator of the stream
as it's specified by the standards.
2020-06-24 16:56:44 +08:00
Xiang Xiao
0317eae801
libc: support CONFIG_ARCH_ROMGETC for scanf function series
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: Ieb524fa431ad60eb586a99d68aed4a022fb87ae7
2020-06-10 00:03:53 -07:00
Xiang Xiao
43d7c1e807
libc: Add IPTR for puts/fputs
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: I2a83afb4d934a44ad1b56ec6dd72e654f4e112a3
2020-06-10 00:03:53 -07:00
Gregory Nutt
4935ab5243
printf() and vprintf() must use C buffered I/O if available.
...
This backs out a part of PR 1179 which has a very serious error: If C buffered I/O is available, then printf() and vprintf MUST use it. Otherwise, the ordering of the I/O will be screwed up. They must not use direct file descriptor I/O UNLESS C buffered I/O is disabled.
2020-06-03 18:38:19 +01:00
Xiang Xiao
4029706583
libc: tmpfile shouldn't hardcode the folder to /tmp
...
use P_tmpdir macro instead
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-06-03 07:46:02 -06:00
Xiang Xiao
29f9d97420
libc: Call vdprintf in printf/vprintf for CONFIG_NFILE_STREAMS == 0
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: I3c49ec02a9444f039ac7aac7b8ea6de5d1090340
2020-06-03 07:35:08 -06:00
Xiang Xiao
a55f8d24a2
libc: Implement vscanf() function
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: I2421e57b2c848c43afb749b8ebfa79ec457cde26
2020-06-03 07:35:08 -06:00
Xiang Xiao
6b3ac93e78
libc: Fix a typo error in tmpfile
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: Ic6db2c76844a5a9d503fc46bb4b930870afbd9ed
2020-06-02 10:18:55 -06:00
Xiang Xiao
9ff32427bf
libc: Implement tmpfile() function
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: I00bdb42006b40bf1b9bc0bb6865b9b88b4acbb7b
2020-06-02 09:32:25 -06:00
YAMAMOTO Takashi
86b7c20b7d
Implement "j" modifier for printf format
...
It's a part of C99 and commonly used these days.
2020-06-02 11:18:16 +02:00
YAMAMOTO Takashi
d884dd301f
Fix nxstyle complaints
...
various nxstyle fixed to avoid the CI warnings
2020-06-02 11:18:16 +02:00
Gregory Nutt
154a87993f
fs/vfs/fd_open.c: fs_fdopen() must not set errno
...
Functions within the OS must never set the errno value. fs_fdopen() was setting the errno value. Now, after some parameter changes, it reports errors via a negated errno integer return value as do most all other internal OS functions.
2020-05-23 15:22:09 +08:00
Gregory Nutt
a4218e2144
include/nuttx/sched.h: Make naming of all internal names consistent:
...
1. Add internal scheduler functions should begin with nxsched_, not sched_
2. Follow the consistent naming patter of https://cwiki.apache.org/confluence/display/NUTTX/Naming+of+OS+Internal+Functions
2020-05-09 14:19:08 -03:00
Xiang Xiao
a2d924eea4
syscall: Fix typo error in cvs and header file
...
and reoder the entry in cvs file
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-05-07 10:31:05 -06:00
Brennan Ashton
8110ea6a7a
x86_64: Make sure to clone ap list in vasprintf
...
VA_LIST is getting clobbered because it is a pointer to a structure
on the stack and we must traverse it twice. Clone it like we do
for x86_32
2020-05-04 08:37:22 -06:00
Alan Carvalho de Assis
8c0fc09853
Vik memcpy() is already defined on string/Kconfig
2020-05-02 08:41:45 -06:00
Xiang Xiao
f8a809eb5b
Fix nxstyle issue
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-05-01 10:43:47 -03:00
Xiang Xiao
eca7059785
Refine __KERNEL__ and CONFIG_BUILD_xxx usage in the code base
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-05-01 10:43:47 -03:00
Gregory Nutt
382513e997
libs/libc: Remove support for CONFIG_FS_WRITABLE
...
The mktemp family of functions are built unconditionally now (but not necessarily included in any build).
2020-03-22 08:24:07 -05:00
Gregory Nutt
199b4d6852
z20x: Changes to reduce serial Rx data overrun
...
boards/z80/ez80/z20x: Increase RX buffer size to 4Kb, reduce BAUD to 2400 in w25boot configuration
arch/z80/src/ez80/ez80_serial.c: Reduce Rx FIFO trigger level for eZ80F92 to 1 so that will respond more quickly to incoming data.
2020-03-09 22:51:54 +01:00
Gregory Nutt
82df8b3eba
libs/libc/stdio: Names of files do not match content
...
Rename lib_rawinstream.c to lib_rawsistream.c and lib_rawsistream.c to lib_rawinstream.c so that the content of the files match the name of the files. While we are at it, update the file license to Apache 2.0
2020-03-08 20:59:46 -05:00
Xiang Xiao
bd4e8e19d3
Run codespell -w against all files
...
and fix the wrong correction
2020-02-22 14:45:07 -06:00
chao.an
b438d529f1
libs/libc/stdio/lib_getdelim.c: Correct the character slash
2020-02-19 12:47:25 -06:00
Xiang Xiao
5c80b94820
Replace #include <semaphore.h> to #include <nuttx/semaphore.h>
...
Since the kernel side should call nxsem_xxx instead and remove the unused inclusion
2020-02-01 08:27:30 -06:00
Xiang Xiao
68951e8d72
Remove exra whitespace from files ( #189 )
...
* Remove multiple newlines at the end of files
* Remove the whitespace from the end of lines
2020-01-31 09:24:49 -06:00
YAMAMOTO Takashi
ba1a150dd2
snprintf: Fix a comment typo
2020-01-29 09:04:25 +01:00
Xiang Xiao
6a3c2aded6
Fix wait loop and void cast ( #24 )
...
* Simplify EINTR/ECANCEL error handling
1. Add semaphore uninterruptible wait function
2 .Replace semaphore wait loop with a single uninterruptible wait
3. Replace all sem_xxx to nxsem_xxx
* Unify the void cast usage
1. Remove void cast for function because many place ignore the returned value witout cast
2. Replace void cast for variable with UNUSED macro
2020-01-02 10:54:43 -06:00
Gregory Nutt
ace25a78d9
include/cxx/ctime: Remove gititimer and setitimer. These are prototyped in sys/time.h, not time.h. Alternatively, ctime could include sys/time.h. Those APIs should also be in the std namespace.
2019-11-13 14:01:25 -06:00
Gregory Nutt
dbf266b9d4
libs/libc/stdio/lib_getdelim.c: Initial allocation should be larger; incremental reallocs should be smaller. Update some comments.
2019-11-13 11:45:26 -06:00
Gregory Nutt
675bf4e9b7
libs/libc/stdio/lib_getdelim.c: Make getdelim() behave per specification on OpenGroup.org. Specificailly, needs to reallocate buffer if more data is received than will fit.
2019-11-13 09:01:52 -06:00
Gregory Nutt
14fcacaf27
libs/libc/stdio/lib_libfgets.c: Because of how the function is defined, getline() canot be used on platforms that require CR-LF line terminations.
2019-11-12 19:43:42 -06:00
Gregory Nutt
0820af5f8d
libs/libc/stdio/lib_getdelim.c: Add implementations of the POSIX functions getdelim() and getline().
2019-11-12 18:58:50 -06:00
Juha Niskanen
5c853cd1dc
libs/libc/unistd/lib_getcwd.c: remove stray sched_unlock(). Also fixes several typos.
2019-09-20 06:23:48 -06:00
Juha Niskanen
e8b5dd4528
Fix use of undefined pp-token #errror, other typos.
2019-09-19 18:19:18 -06:00
David S. Alessio
f2b96016ad
libs/libc/machine/arm/armv7-m: Add Cortex M4F mach optimized fabsf and sqrtf.
2019-07-29 20:27:33 -06:00
Gregory Nutt
9f24fb5b4b
sched/: Add some missing FAR. Update some comments.
2019-07-29 15:04:39 -06:00
Gregory Nutt
eef2f4599e
Commit 933e9e407b
broke the simulator on a 64-bit platform.
2019-07-29 14:34:29 -06:00
David Sidrane
933e9e407b
libs/libc/stdio/lib_libvsprintf.c: Add support for the size_t integer qualifier 'z'. This is kind of tricky due the variety of sizeof(size_t) on different platforms.
2019-07-24 12:49:56 -06:00
Gregory Nutt
7ab149d8e9
Various fixes to get a clean compile with the SDCC compiler. Compile is 'almost' clean.
2019-06-03 16:53:11 -06:00
Gregory Nutt
d375a26a6c
libs/libc/stdio: Fix long long usage in all of the newer printf-related logic: The selection CONFIG_LIBC_LONG_LONG must be ignored if the architecture does not support long long types.
2019-06-03 08:45:57 -06:00
Jussi Kivilinna
fd4db67b43
libs/libc/stdio/lib_libvsprintf.c: Restore support for printing NULL string as "(null)". Legacy printf supported printing "(null)" in place for NULL string:
...
printf("null: %s\n", NULL); => null: (null).
This commit restores this functionality for new printf library.
2019-04-04 06:31:25 -06:00
Gregory Nutt
dc8c814ca3
Squashed commit of the following:
...
Fixed coding standard error in several files. Use of while( is incorrect; a space is required between while and (. Also ran tools/nxstyle and fix thoses complaints as well in most files.
Changes to comply with coding standard. Mostly focused on files with missing space after keyword in if(, switch(, and for(. Offending files also got changes to comply with tools nxstyle. If there were logs of nxstyle complaints, the file also got a taste of tools/indent.sh. Still need to fix occurrences of while( with missing space. There are a lot of them.
2019-02-27 08:41:08 -06:00
Gregory Nutt
0951151c33
libs/libc/pthread, syscall/, and include/sys/syscall.h: Support for pthread_mutex_timedlock() was added recently, however no new system call was added for the API make is usable only in the FLAT build. With a pthread_mutex_timedlock() system call, there is no reason for a pthread_mutex_lock() system call since it is now nothing more than an wrapper around pthread_mutex_timedlock(), passing NULL for the time value. The pthread_mutex_lock() syscall was removed and the pthread_mutex_lock() implemented was moved from /sched/pthread to where it now belows in libs/libc/pthread.
2019-02-25 18:19:13 -06:00
Gregory Nutt
40889daf97
libs/libc/stdio/lib_libvsprintf.c and include/limits.h: Some minor corrections.
2019-02-21 14:52:44 -06:00
Gregory Nutt
d7586c27a5
libs/libc/stdio/Kconfig: Add 'range 9 999999' to CONFIG_LIBC_NL_ARGMAX. Per OpenGroup.org, the minimum value for NL_ARGMAX is 9.
2019-02-21 14:04:46 -06:00
Gregory Nutt
533fd0636e
libs/libc/lib_libvsprintf.c and Kconfig: Remove CONFIG_LIBC_PRINT_MINIMAL. The output in that configuration is unsatisfactory and inappropriate for use with NuttX. For example, the output from many NSH commands become corrupted and useless. Doesn't belong in this context.
2019-02-21 13:53:34 -06:00
Johannes
0059a5a88e
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 )
2019-02-21 13:26:33 -06:00
Gregory Nutt
146c398eff
libs/libc/stdio/lib_libvsprintf.c: Fix typo: PRINTF_LEVEL, not PRINT_LEVEL.
2019-02-20 08:40:27 -06:00
Gregory Nutt
05a68d175b
libs/libc/stdio/Kconfig: CONFIG_LIBC_NUMBERED_ARGS now depends on EXPERIMENTAL. Per Johannes: I tested numbered arguments on i.mx rt 1050, and it isn't working. Only on Linux/MSYS 64bit all relevant data types are size 8 bytes, and therefore my loop through the arg list is working. On 32bit systems, all is 4 bytes except floating point variables which is implicit 8 byte double.
2019-02-20 08:00:35 -06:00
Johannes
88130512b8
libs/libc/stdio/lib_libvsprintf.c: Cleaned naming and allow for leading zeros in argument number (which doesn't make sense but should be).
2019-02-19 13:08:54 -06:00
Johannes
77aa1f1179
libs/libc/stdio/Kconfig: Need to guard LIBC_NUMBERED_ARGS against LIBC_LEGACY_PRINTF
2019-02-18 15:26:41 -06:00
Johannes
698d942f8d
libs/libc/stdio/lib_libvsprintf.c: Adds configurable support for numbered arguments.
2019-02-18 11:51:22 -06:00
Gregory Nutt
a971171695
libs/libc/stdio/Make.defs: Make that else, not #else.
2019-02-17 16:07:54 -06:00
Gregory Nutt
3ff42a846e
libs/libc/stdio: Rename all nano_*.c and nano_*.h files to lib_*.c and lib_*.h to emphasize that these are now the defaults, not an optional implementation.
2019-02-17 12:29:50 -06:00
Gregory Nutt
f12eda8a05
libs/libc/stdio: Rename lib_dtoa.c to legacy_dtoa.c; rename lib_libvsprint.c to legacy_libvsprintf.c
2019-02-17 12:29:35 -06:00
Gregory Nutt
76a2f6c2a2
libs/libc/stdio: This commits makes the nano-printf the defualt logic for the printf family. The legacy printf is still available via CONFIG_LIBC_PRINT_LEGACY. This commit also modifies the nano-prinf configure: The PRINT_LEVEL is not long selectable. Instead, a not CONFIG_LIBC_PRINT_MINIMAL boolean setting was added and the PRINT_LEVEL is derived from a combination of CONFIG_LIBC_PRINT_MINIMAL, CONFIG_LIBC_FLOATINGPOINT, and CONFIG_LIBC_LONG_LONG.
2019-02-17 12:29:20 -06:00
Gregory Nutt
bc5908d9fd
tools/nxstyle.c: Beef up logic that detects multiple variable definitions per line.
2019-02-17 10:57:28 -06:00
Johannes
af75330012
libs/libc/stdio/nano_libvsprintf.c: Added hh type modifier (without extending the flag variable).
2019-02-17 07:27:47 -06:00
Gregory Nutt
67b16613ba
libs/libc/stdio/lib_dtoa.c: Lots of risky turmoil to get this file closer to the NuttX coding style. Seems to check out, but still risky. libs/libc/stdio/lib_libdtoa.c: A fix for the %g format. The algorithm will sometimes generate number greater than the precision of type double. This adds a check if the precision has been exceeded and logic to remove the least significant garbage.
2019-02-16 18:08:38 -06:00
Gregory Nutt
653ff2c34e
Restore lib_sprintf(). It was removed because I thought was not used. But I was wrong; there is logic in drivers/syslog that depends on lib_sprintf().
...
This commits reverts a part of commit c271151d57
. That commit also removed lib_sscanf() which really is not needed.
2019-02-16 12:29:00 -06:00
Johannes
739561ab34
libs/libc/stdio/Make.defs: lib_dtoa.c is only used in the LIBC_CONFIG_NANO_PRINTF=n case.
2019-02-16 09:45:13 -06:00
Gregory Nutt
4bd2a9e1b2
libs/libc/stdio/nano_libvsprintf.c: Fix compile error introduced by my review of last commit. Fix some coding standard violations and a few other cosmetics.
2019-02-16 06:28:23 -06:00
Johannes
41a4a40879
libs/libc/stdio/nano_libvsprintf.c: Add long long support. CONFIG_LIBC_LONG_LONG needs at least CONFIG_NANO_PRINTLEVEL 2. Code size for compile without CONFIG_LIBC_LONG_LONG shouldn't be affected.
2019-02-15 19:10:40 -06:00
Gregory Nutt
72bc331217
Cosmetic update to some comments.
2019-02-15 18:26:06 -06:00
Gregory Nutt
c271151d57
libs/libc/stdio: Remove unused, non-standard functions lib_sscanf() and lib_sprintf().
2019-02-15 18:01:39 -06:00
Gregory Nutt
928108036c
libs/libc/stdio: In the recent changes we lost the implementation of vsscanf(). This commit restores vsscanf(). sscanf() is not just a front end for vsscanf().
2019-02-15 17:31:58 -06:00
Gregory Nutt
d0bd4c959d
arch/arm/src/tiva/hardware/tiva_ssi.h: Fix typo error found in build testing. libs/libc/stdio/lib_libsscanf.c: Fix warnings found in build testing.
2019-02-15 14:38:06 -06:00
Gregory Nutt
4dc0636f1e
libs/libc/stdio: Add support for %g format which, for these purpose, is equivalent to %f except that trailing zeroes are suppressed.
2019-02-15 11:45:25 -06:00
Gregory Nutt
5739179109
Upate Kconfig comments
2019-02-15 10:04:57 -06:00
Gregory Nutt
38e93ede2b
Revert "libs/libc/stdio: Fix the %f floating point output format."
...
The previous implementation was probably corect. On Cygwin with GCC I see this:
int main(int argc, char **argv)
{
printf("Value 1.2 is: [%f]\n", 1.2);
printf("Value 0.1 is: [%f]\n", 0.1);
printf("Value 0.0: [%f]\n", 0.0);
printf("Value 347.6872: [%f]\n", 347.6872);
}
Generates output
Value 1.2 is: [1.200000]
Value 0.1 is: [0.100000]
Value 0.0: [0.000000]
Value 347.6872: [347.687200]
This reverts commit eb0223bc7f
.
2019-02-15 10:01:44 -06:00
Gregory Nutt
eb0223bc7f
libs/libc/stdio: Fix the %f floating point output format.
2019-02-15 09:56:58 -06:00
Johannes
7b9d02d496
libs/libc/stdio/lib_libvsprintf.c: No precision specifier resulted in precision 0 but should be precision 6.
2019-02-15 08:42:07 -06:00
Johannes
479363ae3b
libs/libc/stdio/lib_libsscanf.c: Initialized the lastc pointer to avoid the checks for NULL. Removed a bug in the floating point parsing which allowed several signs after each other.
2019-02-14 15:43:21 -06:00
Johannes
350295d009
Squashed commit of the following:
...
Author: Gregory Nutt <gnutt@nuttx.org>
TODO: Remove 'Missing fscanf()' bug
Clean up remaining complaints for tools/nxstyle
Apply tools/detab, rmcr, convert-comments, lowhex, and indent.sh to the new and highly modified files.
Author: Johannes <nivus.entwicklung@gmail.com>
- Move vscanf logic to lib_sscanf.c Switched to stream interface (tricky, because the old implementation used massive read ahead, which isn't suitable for streams, chars already read are gone).
- Added scanf and fscanf
- Added hh, h, and ll modifiers
- Fixes for standard compliance in scanf
- Fixes for standard compliance in strto... function family (don't consume single '-' or '+', allow sign in strotul(l))
2019-02-14 07:03:02 -06:00
Gregory Nutt
a64869aa67
CONFIG_NFILE_DESCRIPTORS=0 can no longer be used to disable the file system. NuttX with no file system does not make sense.
...
Squashed commit of the following:
configs/: The few configurations that formerly set CONFIG_NFILE_DESCRIPTORS=0 should not default, rather they should set the number of descriptors to 3.
fs/: Remove all conditional logic based on CONFIG_NFILE_DESCRIPTORS == 0
tools/: Tools updates for changes to usage of CONFIG_NFILE_DESCRIPTORS.
syscall/: Remove all conditional logic based on CONFIG_NFILE_DESCRIPTORS == 0
libs/: Remove all conditional logic based on CONFIG_NFILE_DESCRIPTORS == 0
include/: Remove all conditional logic based on CONFIG_NFILE_DESCRIPTORS == 0
drivers/: Remove all conditional logic based on CONFIG_NFILE_DESCRIPTORS == 0
Documentation/: Remove all references to CONFIG_NFILE_DESCRIPTORS == 0
binfmt/: Remove all conditional logic based on CONFIG_NFILE_DESCRIPTORS == 0
arch/: Remove all conditional logic based on CONFIG_NFILE_DESCRIPTORS == 0
net/: Remove all conditional logic based on CONFIG_NFILE_DESCRIPTORS == 0
sched/: Remove all conditional logic based on CONFIG_NFILE_DESCRIPTORS == 0
sched/Kconfig: CONFIG_NFILE_DESCRIPTORS may no longer to set to a value less than 3
configs/: Remove all settings for CONFIG_NFILE_DESCRIPTORS < 3
2019-02-11 12:09:26 -06:00
Gregory Nutt
675a9a170a
lib_sscanf.c: Remove some redundancy in debug output.
2019-02-10 07:49:42 -06:00
Gregory Nutt
6a30e22ad4
Update a README; improvie some Kconfig defaults.
2019-02-09 12:19:32 -06:00
Gregory Nutt
7ac9bd671b
libs/libc/stdio/Kconfig: Update some help comments.
2019-02-07 18:47:27 -06:00
Gregory Nutt
adf28d8903
libs/libc/stdio/Kconfig: CONFIG_NANO_PRINTF should depend on CONFIG_LIBC_LONG_LONG=n. Default should be y if CONFIG_DEFAULT_MALL=yi (as suggested by Alan Carvalho de Assis).
2019-02-07 17:37:43 -06:00
Alan Carvalho de Assis
38508e72b9
libs/libc/stdio/nano_libvsprintf.c: Remove not used sign variable that was stopping the compilation
2019-02-07 16:48:38 -06:00
Gregory Nutt
e5ea84c1ff
libs/libc/stdio: A few more coding standard fixes for nano-printf file: all global data names must begin with g_. All structure names must end with _s.
2019-02-06 17:05:01 -06:00
Keith Packard
e05149b745
libs/libc/stdio: Add newlib-nano fprintf as an option. This fprintf code was originally adapted from AVR libc and provides improved floating point output support, including 'g' mode and making 'f' mode include digits past the decimal by default. However, this version does not have any long long support. On a demonstration cortex M4 build, this version saves about 5kB of ROM. The newlib version can be found here: https://salsa.debian.org/electronics-team/toolchains/newlib-nano . That project is GPL overall, but the newlib-nano printf portions are BSD licensed as described in the COPYING.NEWLIB file.
2019-02-06 15:50:52 -06:00
ligd
d6740a6678
libs/libc/stdio/lib_libvsprintf.c: Correct justification for alternate forms of %p and %P
2019-01-27 06:22:01 -06:00
Gregory Nutt
3def509f4e
libs/libc/stdio/lib_libfread.c: fread() should always set EOF if fewer than the requested number of bytes was not read. Per Anthony Merlino.
2018-12-07 12:18:40 -06:00
Xiang Xiao
e27b6c46ec
libs/libc/stdio/lib_libvsprintf.c: Eliminate recursive in conversion functions of lib_vsprintf().
2018-11-08 08:43:15 -06:00
Gregory Nutt
efe2ff3933
libs/libc/stdio/Kconfig: Commit d0254b1c79
removed all usage of CONFIG_NOPRINTF_FIELDWIDTH but failed to remove the selection from the Kconfig file.
2018-10-06 10:33:29 -06:00
Gregory Nutt
0487fa90f8
libs/libc/stdio/lib_libvsprintf.c: Correct another discrepancy between NuttX printf() output and glibc printf() output.
2018-10-06 09:57:06 -06:00
Gregory Nutt
079fedaa3d
Update TODO list. Costmetic (only) changes to libs/libc/stdio/lib_libvsprintf.c
2018-10-05 16:09:53 -06:00
Gregory Nutt
055810d9a4
libs/libc/stdio/lib_libvsprintf.c: Correct handling of integer 'precision' in all justification types for values 9, 99, 999, 9999, 99999:
...
Right justification:
009 099 999 9999 99999 %5.3u
9 99 999 9999 99999 %5u
Right justification, zero padding
009 099 999 9999 99999 %05.3u
00009 00099 00999 09999 99999 %05u
Left justification
009 099 999 9999 99999 %-5.3u
9 99 999 9999 99999 %-5u
2018-10-05 13:54:36 -06:00
Gregory Nutt
c958dc0f22
libs/libc/stdio/lib_libvsprintf.c: Back out most of commit d0254b1c79
. While logic seemed correct, verify against glibc showed differs. The output now matches the output form glibc:
...
This code sequence:
printf("%3.3u %3.3u %3.3u %3.3u %3.3u\n",
9, 99, 999, 9999, 99999);
printf("%3u %3u %3u %3u %3u\n",
9, 99, 999, 9999, 99999);
printf("%3.3lu %3.3lu %3.3lu %3.3lu %3.3lu\n",
9L, 99L, 999L, 9999L, 99999L);
printf("%3u %3u %3u %3u %3u\n",
9L, 99L, 999L, 9999L, 99999L);
printf("%3.3llu %3.3llu %3.3llu %3.3llu %3.3llu\n",
9LL, 99LL, 999LL, 9999LL, 99999LL);
printf("%3llu %3llu %3llu %3llu %3llu\n",
9LL, 99LL, 999LL, 9999LL, 99999LL);
Generates:
009 099 999 9999 99999
9 99 999 9999 99999
009 099 999 9999 99999
9 99 999 9999 99999
009 099 999 9999 99999
9 99 999 9999 99999
For both NuttX and glibc.
2018-10-05 13:00:18 -06:00
Gregory Nutt
d0254b1c79
Squashed commit of the following:
...
libs/libc/stdio/lib_libvsprintf.c: Resolves the integer field width problem if Issue 35 for the cases of long and long long integer types.
libs/libc/stdio/lib_libvsprintf.c: Resolves the integer field width problem if Issue 35 for the case of integer types.
libs/libc/stdio: Remove CONFIG_NOPRINTF_FIELDWIDTH. That option does, indeed, make the printf family of functions much smaller. But it also adds a lot of complexity and makes the functions non-standard. Removing this might break some of the tinier platforms but it is the best thing to do for long term maintanance for for OpenGroup.org compliance.
2018-10-05 09:33:48 -06:00
Gregory Nutt
8eac8ee52a
Trivial updates after review of last merge.
2018-10-03 11:22:22 -06:00
Mihai Serban
b01e6e5f2a
libs/libc/stdio/lib_sscanf.c: Fix conversion for format specifiers that appear right after a floating point format specifier
...
When performing a floating point conversion the parsing code could
consume more than required characters from the input buffer. This made
impossible to convert input of form "1.1K" using format "%f%c".
Fix the issue by advancing the input buffer with the actual characters
converted as a float point number.
Signed-off-by: Mihai Serban <mihai.serban@gmail.com>
2018-10-03 11:15:44 -06:00
Gregory Nutt
a7fd58c4db
Squashed commit of the following:
...
many locations: Change occurences of open() followed by file_detach() to file_open(). Change most non-controversion calls to open() to nx_open().
fs/inode/fs_fileopen.c: Flesh out file_open() with some interim, placeholder logic.
fs/inode/fs_fileopen.c: Add a framework for a file_open() implementation (no real logic in place yet).
fs/vfs/fs_open.c: Add nx_open() which is the same as open() except that it does not create a cancellation point nor does it modify the errno variable.
2018-09-15 10:49:41 -06:00
Xiang Xiao
6129136329
libs/libc/stdio/lib_setvbuf.c: Fix warning: 'newbuf may be used uninitialized'
2018-08-29 06:10:52 -06:00