Commit Graph

126 Commits

Author SHA1 Message Date
Jussi Kivilinna
acec5e3199 vsnprintf(): If size is zero, then vsnprintf() should return the size of the required buffer without writing anything. This is same fix that was done for snprintf in 2014 by commit 59846a8fe9. 2017-03-17 17:34:56 -06:00
Jussi Kivilinna
ac0d957f26 libc: printf: fix precision for string formatting. Fixes use of format precision to truncate input string. 2017-03-17 17:32:44 -06:00
Gregory Nutt
f97a99e051 C library: Remove unused static global from lib_dtoa.c 2017-02-26 18:17:08 -06:00
Gregory Nutt
1ca0437909 libc/Kconfig: Remove source'ing file twice. Use cleaner dependencies in some menus. 2017-02-10 10:28:34 -06:00
Gregory Nutt
67feda60b2 libc/Kconfig: Use menus vs. comments to better organize the C library menus 2017-02-10 10:04:56 -06:00
Gregory Nutt
de1b68dc4e libc/Kconfig: Break big Kconfig up into separate Kconfig files in each libc subdirectory. 2017-02-10 09:32:55 -06:00
Gregory Nutt
9946969c6c libc/stdio/Make.defs: the no-flush stubs now need to be built unconditionally 2017-02-09 16:37:17 -06:00
Gregory Nutt
98d072a1f7 Apparently setvbuf() size can be nonzero with _IONBF. That makes no sense, but is necessary if setbuf() is to work as it is defined at OpenGroup.org. 2017-02-09 15:39:33 -06:00
Gregory Nutt
c19aa094e1 C Library: Add setbuf() which is a trivial wrapper around setvbuf(). 2017-02-09 15:04:53 -06:00
Gregory Nutt
889ff4b01e setvbuf: Fix some compile errors in first build of logic to enable/disable buffering. 2017-02-09 09:53:50 -06:00
Gregory Nutt
1d290c2b37 setvbuf: Add support for disabling I/O buffering. Initially cut; untested. 2017-02-09 09:24:44 -06:00
Gregory Nutt
f126cd9d46 Remove comment about being based on a Newlib implementation. That is not true. This is an original work. 2017-02-08 14:17:25 -06:00
Gregory Nutt
a92887c63d setvbuf: Correct some errors detected by code review. 2017-02-08 14:06:29 -06:00
Gregory Nutt
1393061400 Update some comments 2017-02-08 11:47:12 -06:00
Gregory Nutt
9f859774a1 setvbuf: Add support for configuration of line buffering. 2017-02-08 11:28:24 -06:00
Gregory Nutt
51a14c9b2f C Library: Add a very limited, first step implementation of setvbuf(). This is a collaborative effort. Alan Carvalho de Assis did the initial prototype. 2017-02-08 10:33:18 -06:00
Gregory Nutt
4700499b59 C library: Remove comments blocks before empty sections 2017-02-08 07:55:37 -06:00
Gregory Nutt
ba2b345990 Remove a few remaining use of the obsolteted 'Compilation Switches' program section 2017-01-22 08:57:18 -06:00
Gregory Nutt
e3a535f66f Fix verboten C99/C11 construct in sscanf() 2017-01-09 11:23:05 -06:00
Gregory Nutt
81712be04e sscanf: Backs out logic of ca1150ce6c 2017-01-09 10:35:28 -06:00
Gregory Nutt
7fbc3ba1e1 Comments should begin with uppercase letters. 2017-01-09 09:22:46 -06:00
Gregory Nutt
07e832340f dtoa: More white space 2017-01-07 15:13:48 -06:00
Gregory Nutt
e568253eb3 Update README, some comments, and fix some spacing. 2017-01-07 10:36:18 -06:00
Pierre-noel Bouteville
562fa6b400 Add debug assertion in libdtoa to catch attempts to use floating point output formats from within an interrupt handler. That will cause assertions or crashes downstream because __dtoa will attempt to allocate memory. 2017-01-06 15:45:03 -06:00
Gregory Nutt
8ce1fdaab0 Add an attribution to the scanset addition to sscanf() 2016-12-17 16:18:04 -06:00
Author: Aleksandr Vyhovanec
7be1b86a81 Add scansets to the scanf function. Enabled CONFIG_LIBC_SCANSET option. 2016-12-17 14:39:19 -06:00
Gregory Nutt
c83da3c48f Remove minnsh configurations and support logic: up_getc() and lowinstream.
This was an interesting exercise to see just how small you could get NuttX, but otherwise it was not useful:  (1) the NSH code violated the OS interface layer by callup up_getc and up_putc directly, and (2) while waiting for character input, NSH would call up_getc() which would hog all of the CPU.  NOt a reasonably solution other than as a proof of concept.
2016-12-13 18:01:23 -06:00
Gregory Nutt
177239feae sscanf: Use strtof() instead of strtod() if a short floating point value was requested. The should help performance with MCUs with 32-bit FPU support 2016-10-22 13:42:43 -06:00
Alan Carvalho de Assis
402b876869 Include wchar.h to lib_libvsprintf.c to fix compilation error 2016-10-18 13:32:03 -06:00
David Sidrane
7ee82c0168 Fixes sscan %sn where strlen(data) < n 2016-10-15 06:31:35 -10:00
Sebastien Lorquet
aed8a602b8 stdio: Add support for remove() 2016-08-25 08:40:34 -06:00
Gregory Nutt
0e35bad987 Update some comments 2016-08-11 10:12:04 -06:00
Gregory Nutt
f9d4b50207 If there are no streams, let printf() fall back to use syslog() for output. 2016-07-11 13:52:21 -06:00
Gregory Nutt
505ca542e8 Remove some last traces of lowvsyslog that were missed; Add a SYSLOG emergency channel for handling assertion output more cleanly 2016-06-20 16:11:50 -06:00
Gregory Nutt
4f97f15b5e graphics/, libc/: Change some err() ERRORS to warn() WARNINGS or info() 2016-06-12 11:11:57 -06:00
Gregory Nutt
a1469a3e95 Add CONFIG_DEBUG_ERROR. Change names of *dbg() * *err() 2016-06-11 15:50:49 -06:00
Gregory Nutt
86b79b33cf Reserver the name 'err' for other purposes 2016-06-11 14:40:07 -06:00
Gregory Nutt
1cdc746726 Rename CONFIG_DEBUG to CONFIG_DEBUG_FEATURES 2016-06-11 14:14:08 -06:00
Gregory Nutt
fc3540cffe Replace all occurrences of vdbg with vinfo 2016-06-11 11:59:51 -06:00
Gregory Nutt
4e71c4c9ef Correct some typos in comments 2016-05-18 12:49:07 -06:00
Alan Carvalho de Assis
7f5339ee5a drivers/sensors/h1750fvi.c: Add a character driver for Rohm Ambient Light Sensor BH1750FVI. 2016-04-15 08:16:16 -06:00
Gregory Nutt
0fb035f76b Standardize some naming in code section comments 2016-02-21 18:09:04 -06:00
Gregory Nutt
384e51cb05 Add some additional schedule instrumentation 2016-02-16 15:21:45 -06:00
Dimitry Kloper
06d83c6261 Introduce support for Atmel toolchain in-flash strings
Atmel toolchain AVR compiler provides a transparent in-flash object support using __flash and __memx symbols. The former indicates to compiler that this is a flash-based object.  The later used with pointer indicates that the referenced object may reside either in flash or in RAM. The compiler automatically makes 32-bit pointer with flag indicating whether referenced object is in flash or RAM and generates code to access either in run-time. Thus, any function that accepts __memx object can transparently work with RAM and flash objects.

For platforms with a Harvard architecture and a very small RAM like AVR this allows to move all constant strings used in trace messages to flash in the instruction address space, releasing resources for other things.

This change introduces IOBJ and IPTR type qualifiers.  The 'I' indicates that the object may like in instruction space on a Harvard architecture machine.

For platforms that do not have __flash and __memx or similar symbols IOBJ and IPTR are empty, making the types equivalent to, for example, 'const char' and 'const char*'.  For Atmel compiler these will become 'const __flash char' and 'const __memx char*'.  All printf() functions and syslog() functions are changed so that the qualifier is used with the format parameter.

From: Dimitry Kloper <dikloper@cisco.com>
2016-01-05 10:29:29 -06:00
Gregory Nutt
b682190f52 Rename all head files in main NuttX repository with names like *internal.h, removing the internal 2015-12-29 17:31:17 -06:00
Gregory Nutt
006528b144 Add support for freopen() 2015-11-22 08:39:17 -06:00
Gregory Nutt
e9bd8bceb4 nuttx/libc: Fix some spacing and alignment issues 2015-10-12 07:45:02 -06:00
Gregory Nutt
0b12dbf95d Fix some spacing problems 2015-10-04 15:04:00 -06:00
Gregory Nutt
5b51a9fcdd Standardize the width of all comment boxes in C files 2015-10-02 17:43:18 -06:00
Gregory Nutt
cb9e27c3b0 Standardize naming used for public data and function groupings 2015-10-02 16:30:35 -06:00