📄 changelog
字号:
2007-07-02 Gary Thomas <gary@mlbassoc.com>
* src/output/vfnprintf.cxx: Add (char *) casts to make GCC/4.2.x happy.
2007-02-05 Sergei Organov <osv@javad.com>
* src/output/vfnprintf.cxx (vfnprintf): while formatting integers
in decimal, convert the value to unsigned long from unsigned long
long before processing, unless we actually print long long
argument. This tremendously speeds-up the formatting.
2007-01-16 Sergei Organov <osv@javad.com>
Speed-up [v]s[n]printf() functions by a factor of about 2+. In
particular, sprintf(s, "%s", "") becomes faster 2.8 times,
printing of every character -- 1.7 times, and, as a result, e.g.,
printing of a string of length 50 -- 2.2 times.
* include/stream.hxx (class Cyg_OutputStream): New ABC.
(class Cyg_StdioStream): inherit from Cyg_OutputStream; make
the destructor, write(), and get_error() virtual.
* src/output/vfnprintf.cxx (vfnprintf): Use ABC Cyg_OutputStream
instead of Cyg_StdioStream.
* src/common/vsnprintf.cxx (class Cyg_VsnprintfStream): New class
that specializes Cyg_OutputStream for output to a string.
(vsnprintf): Use Cyg_VsnprintfStream for printing to a string.
2006-12-22 Sergei Organov <osv@javad.com>
* src/output/vfnprintf.cxx (vfnprintf): Speed-up formatting of
decimal integers by replacing modulo operation with multiply and
subtract.
2006-09-27 Jonathan Larmour <jifl@eCosCentric.com>
* include/stdio.h: Make fpos_t be signed to allow negative
SEEK_CUR offsets to fseek().
* include/stream.inl (set_position): If SEEK_CUR, then if
having to reconcile difference between position and underlying
file position, then requested seek position needs adjusting
for buffer size.
Both above reported and analysed by Ivan Djelic.
2006-09-26 Jonathan Larmour <jifl@eCosCentric.com>
* src/common/stream.cxx (read): Only update position after direct
reads from I/O system so it's updated by the correct number of
bytes.
(write): Reset underlying file position if there had been
stuff read from the file left in the buffer so the file positions
are inconsistent.
2005-07-22 Andrew Lunn <andrew.lunn@ascom.ch>
* src/common/fopen.cxx (fopen): Default the open mode to Read
until we have process the flags. Initialize the dev handle. These
keep the compiler happy.
2005-04-11 Jonathan Larmour <jifl@eCosCentric.com>
* src/common/stream.cxx (read): don't reference flags.buffering
when configured by CDL to be unbuffered.
2005-03-27 Andrew Lunn <andrew.lunn@ascom.ch>
* include/stdio.h: Added CYGBLD_ATTRIB_{PRINTF|SCANF}_FORMAT where
appropriate so the compiler does more checking.
2004-12-08 Daniel Neri <daniel.neri@sigicom.se>
* cdl/stdio.cdl (CYGPKG_LIBC_STDIO_FILEIO): The FILEIO variant of
vsnprintf breaks if CYGSEM_LIBC_STDIO_DYNAMIC_SETVBUF is disabled.
2004-09-27 Jonathan Larmour <jifl@eCosCentric.com>
* cdl/stdio.cdl (CYGFUN_LIBC_STDIO_OPEN_POSIX_FDFUNCS): New option,
to control whether or not fdopen()/fileno() are implemented.
Only build fopen/fclose if CYGPKG_LIBC_STDIO_OPEN.
* src/common/fclose.cxx: Can remove ifdef CYGPKG_LIBC_STDIO_OPEN since
file now isn't even built if not.
* src/common/fopen.cxx: Ditto. Also condition on
CYGFUN_LIBC_STDIO_OPEN_POSIX_FDFUNCS so decision is centralised in CDL.
2004-08-18 Jonathan Larmour <jifl@eCosCentric.com>
* cdl/stdio.cdl (CYGDAT_LIBC_STDIO_DEFAULT_CONSOLE): Only use
CYGDAT_IO_SERIAL_TTY_CONSOLE if set.
2004-08-18 Fredrik Hederstierna <fredrik@wespot.com>
2004-08-18 Jonathan Larmour <jifl@eCosCentric.com>
* src/input/vfscanf.cxx (vfscanf): Add long long and long double
support.
* cdl/stdio.cdl (CYGFUN_LIBC_STDIO_LONGLONG): Make it a new option.
2004-08-16 Oyvind Harboe <oyvind.harboe@zylin.com>
* src/common/stream.cxx (read): fixed performance problem with
unbuffered reads. Long unbuffered i/o read requests would cause
one roundtrip to the underlying file system for each byte, instead
of a single trip as intended.
2004-03-29 Kelvin Lawson <klawson@ad-holdings.co.uk>
* src/common/fopen.cxx:
* src/common/stream.cxx:
* include/io.inl:
* include/stream.hxx:
Split CYGSTREAM_READWRITE into CYGSTREAM_READWRITE_CREATE and
CYGSTREAM_READWRITE_NOCREATE. This fixes fopen() with mode 'w+'
which previously did not allow file creation.
2004-03-27 Andrew Lunn <andrew.lunn@ascom.ch>
* include/stream.inl (set_position): Flush the output buffer
before seeking the underlying file otherwise the writes ends up in
the wrong location in the file.
2004-03-15 Jonathan Larmour <jifl@eCosCentric.com>
* src/common/fileops.cxx (tmpnam): Only close if open() succeded.
2004-03-12 Jonathan Larmour <jifl@eCosCentric.com>
* src/input/vfscanf.cxx (vfscanf): Silence warning.
* include/stdio.h:
Add file operation functions which weren't here before!
While I'm here, add __THROW everywhere and use __externC not externC.
* cdl/stdio.cdl: We implement stdio fileops in isoinfra now.
Also set header for that.
Build fileops.cxx.
L_tmpnam must be at least 4.
TMP_MAX must be at least 1, and ISO C says it should be >=25.
Add description for CYGPKG_LIBC_STDIO_FILEIO and move up from
bottom so it goes with others.
* src/common/fileops.cxx: New file. Implements rename(), remove(),
tmpnam() and tmpfile().
* src/common/fclose.cxx: Add throw specifiers to match stdio.h.
* src/common/feof.cxx: Ditto.
* src/common/fflush.cxx: Ditto.
* src/common/fopen.cxx: Ditto.
* src/common/freopen.cxx: Ditto.
* src/common/fseek.cxx: Ditto.
* src/common/setvbuf.cxx: Ditto.
* src/common/snprintf.cxx: Ditto.
* src/common/sprintf.cxx: Ditto.
* src/common/sscanf.cxx: Ditto.
* src/common/stdioinlines.cxx: Ditto.
* src/common/ungetc.cxx: Ditto.
* src/common/vsnprintf.cxx: Ditto.
* src/common/vsscanf.cxx: Ditto.
* src/input/fgetc.cxx: Ditto.
* src/input/fgets.cxx: Ditto.
* src/input/fread.cxx: Ditto.
* src/input/fscanf.cxx: Ditto.
* src/input/gets.cxx: Ditto.
* src/input/scanf.cxx: Ditto.
* src/input/vfscanf.cxx: Ditto.
* src/output/fnprintf.cxx: Ditto.
* src/output/fprintf.cxx: Ditto.
* src/output/fputc.cxx: Ditto.
* src/output/fputs.cxx: Ditto.
* src/output/fwrite.cxx: Ditto.
* src/output/printf.cxx: Ditto.
* src/output/vfnprintf.cxx: Ditto.
2004-02-17 Jonathan Larmour <jifl@eCosCentric.com>
* cdl/stdio.cdl (CYGSEM_LIBC_STDIO_THREAD_SAFE_STREAMS): Can
be inactive when no kernel.
* cdl/stdio.cdl: Implements file positioning functions in isoinfra.
2003-09-03 Thomas Koeller <thomas.koeller@baslerweb.com>
* cdl/stdio.cdl: only require "/dev/haldiag" if actually using it.
2003-08-12 Scott Wilkinson <scott@alliantnetworks.com>
* src/common/fclose.cxx (fclose): fclose would seg-fault if passed
NULL FILE pointer. Now returns error. Also cleaned up some exit
paths to call Cyg_libc_stdio_files::unlock()
* src/common/fopen.cxx (fopen): Cleaned up some exit paths to call
Cyg_libc_stdio_files::unlock()
2003-06-10 Andrew Lunn <andrew.lunn@ascom.ch>
Knud W鰄ler <woehler@ossi.fho-emden.de>
* src/output/vfnprintf.cxx (SARG): Cast size_t to long. This seems
to stop gcc from producing wrong code for the plain int clause. The
wrong code causes negative numbers to be printed as positive because
the sign extend from 32 bits to 64 bits is wrong.
2003-03-06 Gary Thomas <gary@mlbassoc.com>
* src/input/fread.cxx (fread): Simple EOF should not set error.
* tests/fileio.c: New file.
* cdl/stdio.cdl: Add new file I/O tests.
2003-02-24 Jonathan Larmour <jifl@eCosCentric.com>
* cdl/stdio.cdl: Fix doc link.
2003-02-15 Fabrice Gautier <Fabrice_Gautier@sdesigns.com>
* include/stdio.inl (setbuf): Don't supply size with _IONBF.
* src/common/stdioinlines.cxx (setbuf): Ditto.
2003-01-29 Jonathan Larmour <jifl@eCosCentric.com>
* src/output/vfnprintf.cxx: Add support for C99 'z' flag (size_t).
2002-09-02 Andrew Lunn <andrew.lunn@ascom.ch>
* include/stream.inl (set_position): Fixed typo in none buffered
case. Seek pos bytes, not whence bytes.
2002-05-17 Martin Buck <martin.buck@ascom.ch>
* include/stdio.h (fnprintf): Added printf-format-checking using
CYGBLD_ATTRIB_PRINTF_FORMAT, since gcc does it automatically only for
ISO C90 functions.
(snprintf) Likewise.
2002-04-24 Yoshinori Sato <qzb04471@nifty.ne.jp>
* include/streambuf.inl (Cyg_StdioStreamBuffer constructor):
Don't set default args in func definition.
(set_buffer): Ditto.
2002-04-05 Jonathan Larmour <jlarmour@redhat.com>
* src/input/fgetc.cxx (fgetc): Silence conversion warning.
2002-04-04 Jonathan Larmour <jlarmour@redhat.com>
* src/common/fopen.cxx (fopen_inner): Allocate memory using malloc and
placement new, not default new.
* src/input/fgetc.cxx (fgetc): Don't set error on true EOF.
2002-04-04 Jurica Baricevic <jura@INTESIS.hr>
* src/common/fclose.cxx (fclose): Use delete if we can.
2002-02-06 Jonathan Larmour <jlarmour@redhat.com>
* src/input/fread.cxx (fread): when looping read into ptrc, not ptr!
2002-01-25 Jonathan Larmour <jlarmour@redhat.com>
* include/stream.inl (set_position): Fix the seek backwards case again.
Doh!
2002-01-24 Jonathan Larmour <jlarmour@redhat.com>
* include/stream.inl (set_position): Fix the posdiff == 0 case.
2002-01-24 Jesper Skov <jskov@redhat.com>
* include/stream.inl (set_position): Check that posdiff is >0
before taking the code path that assumes so.
2002-01-17 Jonathan Larmour <jlarmour@redhat.com>
* include/stream.inl (set_position): Use an off_t for bytesavail to
prevent warnings.
2001-12-05 Jonathan Larmour <jlarmour@redhat.com>
* src/common/fflush.cxx (cyg_libc_stdio_flush_all_but): Fix starvation
problem when waiting for threads to unlock of lower priority.
Fix for bug #57014.
2001-11-23 Jonathan Larmour <jlarmour@redhat.com>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -