1
0
Fork 0
mirror of https://gitlab.com/sortix/sortix.git synced 2023-02-13 20:55:38 -05:00
sortix--sortix/libc/stdio
Jonas 'Sortie' Termansen 221fa7d954 Rewrite scanf(3) to be standards compliant.
This change adds missing features:

* %[ for pattern matching with a scanset.
* %m for allocation of strings.
* %p for pointers.
* Field width for integers.

The following features remain unimplemented, like with printf(3):

* Floating point support.
* Wide character support.
* %n$ positional parameters.

The code has been completely refactored to be much more maintainable.

The implemented features should now be standards compliant. A large number
of edge cases have been fixed.

The vscanf_callback(3) function has been renamed to vcbscanf(3) and a new
cbscanf(3) function has been added.
2020-03-07 23:31:05 +01:00
..
asprintf.c Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
cbprintf.c Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
cbscanf.c Rewrite scanf(3) to be standards compliant. 2020-03-07 23:31:05 +01:00
clearerr.c Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
clearerr_unlocked.c Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
dprintf.c Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
fclose.c Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
fdeletefile.c Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
fdio.h Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
fdio_close.c Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
fdio_install_fd.c Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
fdio_install_path.c Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
fdio_read.c Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
fdio_seek.c Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
fdio_write.c Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
fdopen.c Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
feof.c Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
feof_unlocked.c Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
ferror.c Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
ferror_unlocked.c Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
fflush.c Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
fflush_stop_reading.c Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
fflush_stop_reading_unlocked.c Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
fflush_stop_writing.c Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
fflush_stop_writing_unlocked.c Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
fflush_unlocked.c Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
fgetc.c Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
fgetc_unlocked.c Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
fgetpos.c Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
fgets.c Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
fgets_unlocked.c Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
fileno.c Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
fileno_unlocked.c Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
flockfile.c Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
fmemopen.c Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
fnewfile.c Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
fopen.c Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
fparsemode.c Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
fpipe.c Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
fprintf.c Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
fprintf_unlocked.c Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
fputc.c Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
fputc_unlocked.c Fix fputc(3) potentially miswriting the next byte after flushing. 2020-03-06 00:08:59 +01:00
fputs.c Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
fputs_unlocked.c Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
fread.c Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
fread_unlocked.c Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
fregister.c Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
freopen.c Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
fresetfile.c Fix <stdio.h> pulling in <pthread.h> through <FILE.h> when __is_sortix_libc. 2018-07-17 12:25:52 +02:00
fscanf.c Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
fscanf_unlocked.c Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
fseek.c Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
fseeko.c Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
fseeko_unlocked.c Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
fsetpos.c Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
fshutdown.c Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
ftell.c Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
ftello.c Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
ftello_unlocked.c Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
ftrylockfile.c Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
funlockfile.c Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
funregister.c Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
fwrite.c Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
fwrite_unlocked.c Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
getc.c Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
getc_unlocked.c Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
getchar.c Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
getchar_unlocked.c Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
getdelim.c Fix getdelim(3) not returning a final line without a delimiter. 2018-04-08 20:35:30 +02:00
getline.c Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
open_memstream.c Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
perror.c Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
popen.c Fix execl(3) sentinel undefined behaviour. 2016-09-30 23:36:49 +02:00
printf.c Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
putc.c Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
putc_unlocked.c Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
putchar.c Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
putchar_unlocked.c Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
puts.c Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
remove.c Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
removeat.c Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
rename.c Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
renameat.c Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
rewind.c Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
scanf.c Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
setbuf.c Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
setvbuf.c Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
setvbuf_unlocked.c Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
snprintf.c Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
sprintf.c Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
sscanf.c Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
stderr.c Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
stdin.c Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
stdout.c Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
tmpfile.c Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
ungetc.c Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
ungetc_unlocked.c Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
vasprintf.c Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
vcbprintf.c Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
vcbscanf.c Rewrite scanf(3) to be standards compliant. 2020-03-07 23:31:05 +01:00
vdprintf.c Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
vfprintf.c Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
vfprintf_unlocked.c Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
vfscanf.c Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
vfscanf_unlocked.c Rewrite scanf(3) to be standards compliant. 2020-03-07 23:31:05 +01:00
vprintf.c Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
vscanf.c Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
vsnprintf.c Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
vsprintf.c Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
vsscanf.c Rewrite scanf(3) to be standards compliant. 2020-03-07 23:31:05 +01:00