Commit Graph

68 Commits

Author SHA1 Message Date
Lokesh B V
56b4bc8bcb libs/libc: Correct some errors in psignal() and stpncpy(). 2018-10-24 17:15:51 -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
faefa6cd9f libs/libc/netdb/lib_getaddrinfo.c: Fix a warning found in build testing. 2018-10-02 11:16:47 -06:00
Anthony Merlino
5e69b6e09f Merged in antmerlino/nuttx/getaddrinfo-improvements (pull request #726)
A few improvements to getaddrinfo:

- Use the protocol and socktype hints in returned address
  - Ignore AI_PASSIVE argument if hostname is not NULL

Approved-by: GregoryN <gnutt@nuttx.org>
2018-09-25 17:00:57 +00:00
Gregory Nutt
3950398841 libs/libc/string/lib_stpncpy.c: Correct the return poineter value for the case where the NUL terminator is transferred. 2018-09-18 06:43:10 -06:00
Gregory Nutt
68d4c1d4ed C library: Add some new functions defined in POSIX.1-2017: stpncpy(), strsignal(), psignal(), psiginfo(). 2018-09-17 13:55:33 -06:00
Gregory Nutt
7769bd490c sched/signal/sig_nanosleep.c: Fix an error introduced with recent commit. Noted by Jussi Kivilinna. 2018-09-17 06:21:25 -06:00
Rajan Gill
d647127d14 libs/libc/math: Small change to log() and logf() that improves accuracy and convergence time 2018-09-16 15:14:15 -06:00
Rajan Gill
6da2658fdd libs/libc/math: Add variable convergence in log() and logf() to avoid hangs caused by failure to converge for very specific input values. 2018-09-16 12:22:36 -06:00
Gregory Nutt
9f8f1cc5cf libs/libc/wqueue/work_usrthread.c: Fix some errors that I introduced in a recent commit. 2018-09-16 11:07:24 -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
Gregory Nutt
dc48263a6a libs/libc/wqueue/work_usrthread.c: Revise commit 49e725625a. Use sigprocmask() so tht we do not lose a signal, not sched_lock() which will not do the job in SMP mode. 2018-09-14 09:02:03 -06:00
Gregory Nutt
49e725625a libs/libc/wqueue/work_usrthread.c: Eliminate a race condition noted by Xiang Xiao. 2018-09-14 07:51:31 -06:00
Gregory Nutt
9546481054 Fix some typographical errors. 2018-09-14 06:55:45 -06:00
Gregory Nutt
a04d2eeb10 tools/Directories.mk: Correct the path to the installed libcxx directory. 2018-09-13 14:03:09 -06:00
Gregory Nutt
fc127fd297 sched/signal: Add a generic signal notification facility. Modify the custom IOB available notifier so that it is now just a wrapper around this generic signal notification. This generic signal notification faility will, eventually, be used to support network polling.
Squashed commit of the following:

    mm/iob:  The IOB available notifier is now just a wrapper around the common signal notifier.

    sched/signal:  Add a generic signal notification facility.

    sched/signal/sig_evthread.c:  More trivial naming changes.

    sched/signal:  Rename nxsig_notification() to nxsig_evthread() to make forthcoming naming additions more consistent.
2018-09-09 08:32:37 -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
Xiang Xiao
d025162542 libs/libc/audio/lib_buffer.c: Call nxsem_destroy in apb_free 2018-08-27 07:49:23 -06:00
ZhongAn
4d115e925f include/nuttx/audio/audio.h: Change member samp of apb to pointer so driver can customize sample buffer allocation 2018-08-27 07:45:27 -06:00
anchao
2e8eba35ff libs/libc/syslog/lib_syslog.c: Fix syslog crash on 64bit simulation. 2018-08-26 06:50:47 -06:00
xuanlin
7e63b0b288 sched/wqueue, libs/libc/wqueue, configs: Remove work queue polling delay to simplify the code logic and save the power. 2018-08-25 14:58:07 -06:00
ligd
631071cded Squashed commit of the following:
sched/wqueue:  Modify high priority work queue to support multiple threads.

    sched/wqueue and libs/libc/wqueue:  workqueues don't need set global data to zero since .bss is cleared automatically.  Removing this unnecessary initialization also avoids the loss the work items queued before initialization.
2018-08-25 14:52:13 -06:00
Xiang Xiao
e1202d2ed3 Replace all ASSERT with DEBUGASSERT to save the code space 2018-08-24 06:58:30 -06:00
Xiang Xiao
467d2a58ea Replace non critical PANIC with DEBUGPANIC to save the code space 2018-08-24 06:21:15 -06:00
Gregory Nutt
2722fd8192 tools/nxstyle.c: Add capability to detect multiple blank lines. Single spacing required by the coding standard. Also coding standard fixes to server .c files for problems found during testing nxstyle. 2018-08-24 05:51:44 -06:00
xuanlin
2c93467436 pthreads: Add support static pthread stack. Add standard pthread_attr_setstack() and pthread_attr_getstack(). In all cases where the stack is released, add check to see which allocator must be used to free the stack: The user or the kernel allocator. 2018-08-23 09:49:20 -06:00
Gregory Nutt
8e203e09d4 Costmetic changes 2018-08-19 11:19:43 -06:00
Gregory Nutt
ed4aae0fe0 include/endian.h and libs/libc/endian: Add support for endian.h. 2018-08-19 07:44:04 -06:00
Gregory Nutt
8c61c2f31b Remove trailing spaces at the end of lines. 2018-08-13 07:39:38 -06:00
Gregory Nutt
17c18a1347 tools/kconfig2html.c: Update tool to handle tristate types. Fix a few errors detected in Kconfig files. 2018-08-10 17:30:17 -06:00
Gregory Nutt
1af1ac24a5 Review of previous PR: Add some comments. Change should not apply in the FLAT build mode. 2018-07-25 06:32:50 -06:00
Masayuki Ishikawa
5340027e4e Merged in masayuki2009/nuttx.nuttx/fix_build_error_with_protected_build (pull request #695)
libs/libc/netdb: Fix a link error in lib_gethostbynamer.c with protected build.

NOTE: g_lo_ipv4addr also exists in net/loopback/lo_globals.c which
can be linked with kernel build only.

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>

Approved-by: GregoryN <gnutt@nuttx.org>
2018-07-25 12:23:45 +00:00
Gregory Nutt
b75103e264 Update some comments. 2018-07-22 05:56:11 -06:00
Gregory Nutt
4e92314d96 Update some comments 2018-07-20 09:36:22 -06:00
Gregory Nutt
5a89459783 libs/libc/unistd/: Add a crippled version of daemon(). 2018-07-20 07:56:09 -06:00
Gregory Nutt
12d216fa5e Fix another error found in build testing. 2018-07-19 15:19:36 -06:00
Gregory Nutt
58bbb66481 libs/libc/stdlib and include/stdlib.h: Add implementation of random() and srandom(). 2018-07-19 11:21:49 -06:00
Gregory Nutt
4c67062457 Squashed commit of the following:
binfmt/, libs/libc/unistd, and others:  Rename CONFIG_EXECFUNCS_SYMTAB to CONFIG_EXECFUNCS_SYMTAB_ARRAY.  Rename CONFIG_EXECFUNCS_NSYMBOLS to CONFIG_EXECFUNCS_NSYMBOLS_VAR.  Unlike CONFIG_EXECFUNCS_NSYMBOLS, CONFIG_EXECFUNCS_NSYMBOLS_VAR holds the name of an 'int' variable that contains the number of symbols in the symbol table.

    configs/sama5d4-ek:  Partial update to knsh build instructions.
2018-07-15 11:20:37 -06:00
Gregory Nutt
903a4d866a libs/libc/unistd/Kconfig: Revisiting 664af2a69b, the problem was not that the default should be 'not set', the problem is that the conditionals were backward. 2018-07-14 10:34:55 -06:00
Gregory Nutt
29474a2b08 Trivial update to some comments and debug statement formats. 2018-07-14 07:11:25 -06:00
Gregory Nutt
664af2a69b Default for CONFIG_EXECFUNCS_HAVE_SYMTAB should be 'not set' 2018-07-13 14:56:45 -06:00
Gregory Nutt
6368a0d6a7 Fix trivial coding standard issue 2018-07-11 15:36:33 -06:00
Alan Carvalho de Assis
283b73edc5 Fix lots of typos in C comments and Kconfig help text 2018-07-08 18:24:45 -06:00