| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
NOTE: original stdio bug.
Notes:
svn path=/head/; revision=82839
|
| |
|
|
|
|
|
|
|
| |
no functional changes.
Add fp->_offset optimization in _SAPP+_SOPT case
Notes:
svn path=/head/; revision=82838
|
| |
|
|
|
|
|
|
|
|
| |
plain regular files, i.e. files with __SOPT flag set. Fix it, so ftell(stdout)
always returns the same as lseek(1, 0, 1) now.
NOTE: this bug was in original stdio code
Notes:
svn path=/head/; revision=82827
|
| |
|
|
|
|
|
|
| |
__SOFF flag (i.e. we don't have offset) instead of returning EOVERFLOW.
It allows again continious reading from non-stop stream.
Notes:
svn path=/head/; revision=82818
|
| |
|
|
| |
Notes:
svn path=/head/; revision=82810
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
__swrite() and __sseek() to higher level. According to funopen(3) they all
are just wrappers to something like standard read(2), write(2) and
lseek(2), i.e. must not touch stdio internals because they are replaceable
with any other functions knows nothing about stdio internals. See example
of funopen(3) usage in sendmail sources f.e.
NOTE: this is original stdio bug, not result of my range checkin added.
Notes:
svn path=/head/; revision=82807
|
| |
|
|
|
|
|
|
|
| |
internal functions there may fail and set (i.e. overwrite) errno in normal
(not error) situation). In original variant errno testing after call
(as POSIX suggest) is wrong when errno overwrite happens.
Notes:
svn path=/head/; revision=82743
|
| |
|
|
| |
Notes:
svn path=/head/; revision=82742
|
| |
|
|
| |
Notes:
svn path=/head/; revision=82741
|
| |
|
|
| |
Notes:
svn path=/head/; revision=82740
|
| |
|
|
| |
Notes:
svn path=/head/; revision=82739
|
| |
|
|
|
|
|
| |
Add more to SEE ALSO section.
Notes:
svn path=/head/; revision=82738
|
| |
|
|
| |
Notes:
svn path=/head/; revision=82737
|
| |
|
|
|
|
|
|
|
|
| |
0, return that we can't specify it, i.e. error with ESPIPE.
(hint from: "Peter S. Housel" <housel@acm.org>)
Back out sinit() addition, not needed after various code simplifications.
Notes:
svn path=/head/; revision=82736
|
| |
|
|
|
|
|
| |
to indicate that stream becomes inconsistent.
Notes:
svn path=/head/; revision=82735
|
| |
|
|
|
|
|
| |
return EIO and set __SERR to mark stream as inconsistent.
Notes:
svn path=/head/; revision=82734
|
| |
|
|
|
|
|
|
| |
keep negative offset internally, but return 0 externally in ftell*()
I.e. use 0 now as 'unspecified value' per POSIX ungetc() description.
Notes:
svn path=/head/; revision=82709
|
| |
|
|
| |
Notes:
svn path=/head/; revision=82684
|
| |
|
|
| |
Notes:
svn path=/head/; revision=82683
|
| |
|
|
| |
Notes:
svn path=/head/; revision=82679
|
| |
|
|
|
|
|
| |
checks in ftell.
Notes:
svn path=/head/; revision=82673
|
| |
|
|
| |
Notes:
svn path=/head/; revision=82670
|
| |
|
|
|
|
|
|
| |
it into one subfunction instead.
Try to use real offset in strange cases.
Notes:
svn path=/head/; revision=82668
|
| |
|
|
|
|
|
| |
internal buffer and trust offset, not return error.
Notes:
svn path=/head/; revision=82659
|
| |
|
|
| |
Notes:
svn path=/head/; revision=82654
|
| |
|
|
|
|
|
| |
Use errno to catch negative seek with -1 offset
Notes:
svn path=/head/; revision=82653
|
| |
|
|
|
|
|
| |
Submitted by: yar
Notes:
svn path=/head/; revision=82642
|
| |
|
|
|
|
|
| |
if offset tends to be negative.
Notes:
svn path=/head/; revision=82591
|
| |
|
|
| |
Notes:
svn path=/head/; revision=82590
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When file offset tends to be negative due to internal and ungetc buffers
additions counted, try to discard some ungetc data first, then return EBADF.
Later one can happens if lseek(fileno(fd),...) called f.e. POSIX says that
ungetc beyond beginning of the file results are undefined, so we can just
discard some of ungetc data in that case.
Don't rely on gcc cast when checking for overflow, use OFF_MAX.
Cosmetique.
Notes:
svn path=/head/; revision=82588
|
| |
|
|
| |
Notes:
svn path=/head/; revision=82348
|
| |
|
|
| |
Notes:
svn path=/head/; revision=82197
|
| |
|
|
|
|
|
|
|
| |
instead of char *.
MFC after: 2 weeks
Notes:
svn path=/head/; revision=81975
|
| |
|
|
| |
Notes:
svn path=/head/; revision=81912
|
| |
|
|
| |
Notes:
svn path=/head/; revision=81822
|
| |
|
|
|
|
|
| |
_fseeko()
Notes:
svn path=/head/; revision=81821
|
| |
|
|
| |
Notes:
svn path=/head/; revision=81820
|
| |
|
|
| |
Notes:
svn path=/head/; revision=81819
|
| |
|
|
|
|
|
| |
there is no harm to have it, it will reduce next call efforts.
Notes:
svn path=/head/; revision=81818
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Resulting fseek() offset must fit in long, required by POSIX (pointed by bde),
so add LONG_MAX and final tests for it.
rewind.c:
1) add missing __sinit() as in fseek() it pretends to be.
2) use clearerr_unlocked() since we already lock stream before _fseeko()
3) don't zero errno at the end, it explicitely required by POSIX as the
only one method to test rewind() error condition.
4) don't clearerr() if error happens in _fseeko()
Notes:
svn path=/head/; revision=81817
|
| |
|
|
|
|
|
| |
Submitted by: ru
Notes:
svn path=/head/; revision=81745
|
| |
|
|
|
|
|
| |
Suggested by: bde
Notes:
svn path=/head/; revision=81730
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
"[EINVAL] ... The resulting file-position indicator would be set to a
negative value."
Moreover, in real life negative seek in stdio cause EOF indicator cleared
and not set again forever even if EOF returned.
2) Catch few possible off_t overflows.
Reviewed by: arch discussion
Notes:
svn path=/head/; revision=81666
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It was foiled because of dynamic copy relocations that caused compile-time
space to be reserved in .bss and at run time a blob of data was copied to
that space and everything used the .bss version.. The problem is that
the space is reserved at compile time, not runtime... So we *still* could
not change the size of FILE. Sigh. :-(
Replace it with something that does actually work and really does let us
make 'FILE' extendable. It also happens to be the same as Linux does in
glibc, but has the slight cost of a pointer. Note that this is the
same cost that 'fp = fopen(), fprintf(fp, ...); fclose(fp);' has.
Fortunately, actual references to stdin/out/err are not all that common
since we have implicit stdin/out/err-using versions of functions
(printf() vs. fprintf()).
Notes:
svn path=/head/; revision=81600
|
| |
|
|
| |
Notes:
svn path=/head/; revision=81478
|
| |
|
|
|
|
|
| |
Reviewed by: ru
Notes:
svn path=/head/; revision=81352
|
| |
|
|
|
|
|
|
|
|
| |
Avoid using parenthesis enclosure macros (.Pq and .Po/.Pc) with plain text.
Not only this slows down the mdoc(7) processing significantly, but it also
has an undesired (in this case) effect of disabling hyphenation within the
entire enclosed block.
Notes:
svn path=/head/; revision=81251
|
| |
|
|
|
|
|
|
|
|
|
| |
or developers' vendors without compromising the importance of warning
against bad practice.
Reported by: mjacob
MFC after: 1 week
Notes:
svn path=/head/; revision=80541
|
| |
|
|
| |
Notes:
svn path=/head/; revision=79754
|
| |
|
|
| |
Notes:
svn path=/head/; revision=79531
|