| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
0-length writes. When closing pipes which have already been closed
not skipping leads to spurious SIG_PIPE signals. Reported by
Mikhail Teterin <mi+thun@aldan.algebra.com>.
|
|
|
|
|
|
|
| |
to permit reads to continue up to the string limits of Tcl values.
Before revisions, large read attempts could panic when as little as
half the limiting value length was reached. [Patch 2107634]
Thanks to Sean Morrison and Bob Parker for their roles in the fix.
|
|
|
|
|
|
|
|
| |
* generic/tclPipe.c (FileForRedirect): for getHandleProc == NULL, this
is allowed. Provide a nice error message in the bypass area. Updated
caller to check the bypass for a mesage. Bug reported by Andy
Sonnenburg <andy22286@users.sourceforge.net>. Backported from CVS
head.
|
|
|
|
|
|
|
|
| |
* tests/io.test: internal representation of the tclChannelType to
contain not only the ChannelState pointer, but also a reference to
the interpreter it was made in. Invalidate and recompute the
internal representation when it is used in a different interpreter
(Like cmdName intrep's). Added testcase. [Bug 2407783].
|
|
|
|
|
| |
Ferrieux's first patch for [Bug 2270477] with a gentler version,
also supplied by him.
|
|
|
|
|
| |
Ferrieux's patch for [Bug 2270477] to prevent infinite looping
during finalization of channels not bound to interpreters.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Alexandre Ferrieux <ferrieux@users.sourceforge.net> to fix the
[Bug 1965787]. 'tell' now works for locations > 2 GB as well
instead of going negative.
* generic/tclIO.c (Tcl_SetChannelBufferSize): Accepted a patch by
* tests/io.test: Alexandre Ferrieux <ferrieux@users.sourceforge.net>
* tests/chanio.test: to fix the [Bug 1969953]. Buffersize outside
of the supported range are now clipped to nearest boundary instead
of ignored.
|
|
|
|
|
|
|
| |
* io.test (io-53.8a): Ferrieux <ferrieux@users.sourceforge.net>,
* chanio.test (chan-io-53.8a): to shift EOF handling to the async
part of the command if a callback is specified, should the channel
be at EOF already when fcopy is called. Testcase by myself.
|
|
|
|
|
|
|
|
| |
* tests/chanio.test:
* generic/tclIO.c: Additional changes to data structures for fcopy
* generic/tclIO.h: and channels to perform proper cleanup in case
of a channel having two background copy operations running as is
now possible.
|
|
|
|
|
|
| |
TclCopyChannel): New macro, and the places using it. This change
allows for bi-directional fcopy on channels. Thanks to Alexandre
Ferrieux <ferrieux@users.sourceforge.net> for the patch.
|
|
|
|
|
|
| |
* tests/io.test: prevent fcopy from calling -command synchronously
* tests/chanio.test: the first time. Thanks to Alexandre Ferrieux
<ferrieux@users.sourceforge.net> for report and patch.
|
|
|
|
|
|
|
| |
[Bug 780533], with many thanks to Alexandre Ferrieux
<ferrieux@users.sourceforge.net> for tracking it down and
providing a solution. Still have to convert his test script into
a proper test case.
|
|
|
|
| |
[Bug 1869405] (Ficicchia)
|
| |
|
| |
|
|
|
|
|
| |
* generic/tclIO.c (SetChannelFromAny): internal rep only after
validating channel rep. [Bug 1847044]
|
|
|
|
|
|
|
| |
* generic/tclIO.c: overhead in lookup by Tcl_GetChannel. New
* generic/tclIOCmd.c: TclGetChannelFromObj for internal use.
* generic/tclIO.c (WriteBytes, WriteChars): add opt check to avoid
EOL translation when not linebuffered or using lf. [Bug 1845092]
|
|
|
|
| |
message in latest changes.
|
| |
|
|
|
|
|
|
|
| |
* doc/fconfigure.n: values to single byte characters by documenting
* generic/tclIO.c: it and making it fail loudly. Thanks to
* tests/chan.test: Stuart Cassoff for contributing the fix.
[Bug 800753]
|
| |
|
|
|
|
| |
objTypes.
|
| |
|
| |
|
|
|
|
| |
for [gets].
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* generic/tclEvent.c: that for the first time permits non-TCL_ERROR
exceptions to trigger [interp bgerror] handling. Closes a gap in
TIP 221. When falling back to [bgerror] (which is designed only
to handle TCL_ERROR), convert exceptions into errors complaining
about the exception.
* generic/tclInterp.c: Convert Tcl_BackgroundError() callers to call
* generic/tclIO.c: TclBackgroundException().
* generic/tclIOCmd.c:
* generic/tclTimer.c:
* generic/tclIntDecls.h: make genstubs
* generic/tclStubInit.c:
|
|
|
|
| |
* unix/tclUnixChan.c:
|
|
|
|
|
|
|
|
|
| |
in a private namespace, to avoid polluting the global one. This
problem was discovered when running the test suite '-singleproc 1
-skip exec.test' because the 'path' variable in encoding.test
conflicted with the one in io.test.
* tests/io.test: Made more of the working variables private to the
namespace.
|
|
|
|
|
|
|
| |
DeleteChannelTable tries to close all open channels, not just the
first. [Bug 1710285]
* generic/tclThread.c (TclFinalizeSynchronization): Make sure
that TSD blocks get freed on non-threaded builds. [Bug 1710825]
|
|
|
|
|
|
| |
mismanagement of newlevel, newcode. Changed to allocate the
Tcl_Obj's as late as possible, and only when actually needed. [Bug
1705778, leak K29].
|
|
|
|
| |
catenation, and fixed an oversight in the fix for NZA time zones.
|
|
|
|
| |
macro.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Avoid checking for for the LF in a possible CRLF
sequence when EOF has already been found.
|
|
|
|
|
|
|
| |
the "iso8859-1" encoding, save a copy of that encoding per-thread to
avoid repeated freeing and re-loading of it from the file system.
This replaces the cached copy of this encoding that the platform
initialization code used to keep in pre-8.5 releases.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* generic/tclEncoding.c: pointer from/to integer of different
* generic/tclEvent.c: size' on 64-bit platforms by casting to
* generic/tclExecute.c: intermediate types intptr_t/uintptr_t
* generic/tclHash.c: via new PTR2INT(), INT2PTR(),
* generic/tclIO.c: PTR2UINT() and UINT2PTR() macros.
* generic/tclInt.h: [Patch 1592791]
* generic/tclProc.c:
* generic/tclTest.c:
* generic/tclThreadStorage.c:
* generic/tclTimer.c:
* generic/tclUtil.c:
* unix/configure.in:
* unix/tclUnixChan.c:
* unix/tclUnixPipe.c:
* unix/tclUnixPort.h:
* unix/tclUnixTest.c:
* unix/tclUnixThrd.c:
* unix/configure: autoconf-2.59
* unix/tclConfig.h.in: autoheader-2.59
|
| |
|
|
|
|
| |
possible NULL derefs, [Bug 1566382] and coverity #33.
|
|
|
|
|
| |
aka coverity #51. Extended loop condition, added checking for
NULL to prevent seg.fault.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
commentary to a piece of code which relies on BUFFER_PADDING to
create enough space at the beginning of each buffer forthe
insertion of partial multi-byte data at the beginning of a
buffer. To explain why this code is ok, and as precaution if
someone twiddled the BUFFER_PADDING into uselessness.
* generic/tclIO.c (ReadChars): [SF Tcl Bug 1462248]. Added code
temporarily suppress the use of TCL_ENCODING_END set when eof
was reached while the buffer we are converting is not truly the
last buffer in the queue. together with the Utf bug below it was
possible to completely bollox the buffer data structures,
eventually crashing Tcl.
* generic/tclEncoding.c (UtfToUtfProc): Fixed problem where the
function accessed memory beyond the end of the input
buffer. When TCL_ENCODING_END is set and the last bytes of the
buffer start a multi-byte sequence. This bug contributed to [SF
Tcl Bug 1462248].
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* generic/tcl.h: the version where the "truncateProc"
* generic/tclIO.c: is defined at, and moved all channel
* generic/tclIOGT.c: drivers of Tcl to v5.
* generic/tclIORChan.c:
* unix/tclUnixChan.c:
* unix/tclUnixPipe.c:
* win/tclWinChan.c:
* win/tclWinConsole.c:
* win/tclWinPipe.c:
* win/tclWinSerial.c:
* win/tclWinSock.c:
|
|
|
|
| |
of the TclFinalizeIOSubsystem()
|
|
|
|
|
| |
* generic/tclIORChan.c: interp == NULL arguments. [Bug 1380662]
* generic/tclIOUtil.c:
|
| |
|
|
|
|
| |
until we netrieve next statePtr from it.
|
|
|
|
|
|
|
| |
patch for [SF Tcl Bug 1359094]. This moves the retrieval of the
next channel state to the end of the loop, as the called
closeproc may close other channels, i.e. modify the list we are
iterating, invalidating any pointer retrieved earlier.
|