summaryrefslogtreecommitdiffstats
path: root/unix/tclUnixFCmd.c
Commit message (Collapse)AuthorAgeFilesLines
* * unix/tclUnixFCmd.c (TclUnixOpenTemporaryFile): [Bug 2933003]: Factordkf2012-11-141-9/+45
| | | | | | | out all the code to do temporary file creation so that it is possible to make it correct in one place. Allow overriding of the back-stop default temporary file location at compile time by setting the TCL_TEMPORARY_FILE_DIRECTORY #def to a string containing the directory name (defaults to "/tmp" as that is the most common default).
* Final part of result generation conversion (modulo any minor blunders)dkf2012-08-051-39/+42
|
* Factor out a number of common patterns of use of Tcl_DStringAppend.dkf2012-07-031-7/+7
|
* * generic/tclUtil.c (TclDStringToObj): Added internal function to makedkf2012-04-251-4/+2
| | | | the fairly-common operation of converting a DString into an Obj a more efficient one.
* More generation of error codes (most platform-specific parts not already usingdkf2011-04-061-0/+5
| | | Tcl_PosixError).
* MINOR: Formatting fixes, mainly to comments, so code better fits the style indkf2011-03-101-18/+20
| | | the Engineering Manual.
* Now that we're no longer using SCM based on RCS, the RCS Keyword linesdgp2011-03-021-2/+0
|\ | | | | cause more harm than good. Purged them (except in zlib files).
| * Now that we're no longer using SCM based on RCS, the RCS Keyword lines causedgp2011-03-021-2/+0
| |\ | | | | | | more harm than good. Purged them.
| | * Now that we're no longer using SCM based on RCS, the RCS Keyword lines causedgp2011-03-011-2/+0
| | | | | | | | | more harm than good. Purged them.
| | * * unix/tclUnixFCmd.c: add workaround for crashing bug in fts_open()das2007-04-291-16/+30
| | | | | | | | | | | | * unix/tclUnixInit.c: without FTS_NOSTAT on 64bit Darwin 8 or earlier.
| | * * unix/tclUnixFCmd.c (CopyFile): [SF Tcl Bug 1586470]. Added codeandreas_kupries2006-11-071-1/+11
| | | | | | | | | | | | | | | to fall back to a hardwired default block size should the filesystem report a bogus value.
| | * * unix/tclUnixFCmd.c: Removed some false tests addedvasiljevic2006-09-071-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | (and left by mistake) by fixing the Tcl Bug: 999544 * unix/tclUnixCompat.c: Added fallback to MT-unsafe library calls if TCL_THREADS is not defined. Fixed alignment of arrays copied by CopyArrayi() to be on the sizeof(char *) boundary.
| | * Rewritten MT-safe wrappers to return ptrs to TSD storagevasiljevic2006-09-071-51/+7
| | |
| | * Added MT-safe implementation of some library calls.vasiljevic2006-09-061-17/+60
| | | | | | | | | | | | See Tcl Bug 999544 for more information.
| | * * macosx/tclMacOSXNotify.c (Tcl_InitNotifier, Tcl_WaitForEvent): createdas2006-07-201-48/+72
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | notifier thread lazily upon first call to Tcl_WaitForEvent() rather than in Tcl_InitNotifier(). Allows calling exeve() in processes where the event loop has not yet been run (Darwin's execve() fails in processes with more than one thread), in particular allows embedders to call fork() followed by execve(), previously the pthread_atfork() child handler's call to Tcl_InitNotifier() would immediately recreate the notifier thread in the child after a fork. * macosx/tclMacOSXNotify.c (Tcl_InitNotifier): add support for * unix/tclUnixFCmd.c (DoRenameFile, CopyFileAtts): weakly importing * unix/tclUnixInit.c (TclpSetInitialEncodings): symbols not available on OSX 10.2 or 10.3, enables binaires built on later OSX versions to run on earlier ones. * macosx/README: document how to enable weak-linking; cleanup. * unix/tclUnixPort.h: add support for weak-linking; conditionalize AvailabilityMacros.h inclusion; only disable realpath on 10.2 or earlier when threads are enabled. * unix/tclLoadDyld.c (TclpLoadMemoryGetBuffer): change runtime Darwin * unix/tclUnixInit.c (TclpInitPlatform): release check to use global initialized once. * unix/tclUnixFCmd.c (DoRenameFile, TclpObjNormalizePath): add runtime Darwin release check to determine if realpath is threadsafe. * unix/configure.in: add check on Darwin for compiler support of weak * unix/tcl.m4: import and for AvailabilityMacros.h header; move Darwin specific checks & defines that are only relevant to the tcl build out of tcl.m4; restrict framework option to Darwin; cleanup quoting. * unix/configure: autoconf-2.13 * unix/tclLoadDyld.c (TclpLoadMemory): * unix/tclUnixPipe.c (TclpCreateProcess): fix signed-with-unsigned comparison and other warnings from gcc4 -Wextra.
| | * * unix/tclUnixFCmd.c (TclpObjNormalizePath): deal with *BSD/Darwindas2006-03-281-3/+11
| | | | | | | | | | | | realpath() converting relative paths into absolute paths. [Bug 1064247]
| | * 2005-12-05 Don Porter <dgp@users.sourceforge.net>dgp2005-12-051-23/+107
| | | | | | | | | | | | | | | | | | | | | | | | | | | *** 8.4.12 TAGGED FOR RELEASE *** * unix/configure.in: Revised fix for [Bug 1034337] from Daniel * unix/tclUnixFCmd.c: Steffen. Uses fts_*() routines. * unix/configure: autoconf-2.13 * changes: Update changes for 8.4.12 release
| | * * unix/tcl.m4 (Darwin): add 64bit support, check for Tiger copyfile(),das2005-11-271-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | add CFLAGS to SHLIB_LD to support passing -isysroot in env(CFLAGS) to configure (flag can't be present twice, so can't be in both CFLAGS and LDFLAGS during configure), don't use -prebind when deploying on 10.4, define TCL_IO_TRACK_OS_FOR_DRIVER_WITH_BAD_BLOCKING (rdar://3171542). (SC_ENABLE_LANGINFO, SC_TIME_HANDLER): add/fix caching, fix obsolete autoconf macros. Sync with tk/unix/tcl.m4, sync whitespace with HEAD. * unix/configure.in: fix obsolete autoconf macros, sync gratuitous formatting/ordering differences with tk/unix/configure.in. * unix/Makefile.in: add CFLAGS to tclsh/tcltest link to make executable linking the same as during configure (needed to avoid loosing any linker relevant flags in CFLAGS, in particular flags that can't be in LDFLAGS). Avoid concurrent linking of tclsh and compiling of tclTestInit.o or xtTestInit.o during parallel make. (checkstubs, checkdoc, checkexports): dependency and Darwin fixes * unix/tclLoadDyld.c (TclpDlopen): use NSADDIMAGE_OPTION_WITH_SEARCHING on second NSAddImage only. [Bug 1204237] (TclGuessPackageName): should not be MODULE_SCOPE. (TclpLoadMemory): ppc64 and endian (i386) fixes, add support for loading universal (fat) bundles from memory. * unix/tclUnixPort.h: * unix/tclUnixFCmd.c: add support for new Tiger copyfile() API to enable copying of xattrs & ACLs by [file copy]. * generic/tcl.h: add Darwin specifc configure overrides for TCL_WIDE defines to support fat compiles of ppc and ppc64 at the same time, (replaces Darwin CVS fix by emoy, rdar://3693001). add/correct location of version numbers in macosx files. * generic/tclInt.h: clarify fat compile comment. * unix/tclUnixPort.h: add Darwin specifc configure overrides to support fat compiles, where configure runs only once for multiple architectures (replaces Darwin CVS fix by emoy, rdar://3693001). * macosx/tclMacOSXBundle.c: * macosx/tclMacOSXNotify.c: * unix/tclUnixNotfy.c: * unix/tclUnixPort.h: fix #include order to support compile time override of HAVE_COREFOUNDATION in tclUnixPort.h when building for ppc64 * macosx/Tcl.pbproj/default.pbxuser (new file): * macosx/Tcl.pbproj/jingham.pbxuser: * macosx/Tcl.pbproj/project.pbxproj: sync with HEAD. * macosx/README: clarification/cleanup, sync with HEAD, document universal (fat) builds via CFLAGS (i.e. all of ppc ppc64 i386 at once). * macosx/Makefile: add support for reusing configure cache, build target fixes, remove GENERIC_FLAGS override now handled by tcl.m4. * generic/tclIOUtil.c: * generic/tclRegexp.c: * generic/tclVar.c: declare globals used only in own file as static (sync with HEAD). * generic/rege_dfa.c (getvacant): * generic/regexec.c (cfind): * generic/tclCompExpr.c (CompileSubExpr): * unix/tclUnixChan.c (TclUnixWaitForFile): initialise variables to silence gcc 4 warnings. * generic/regguts.h: only #define NDEBUG if not already #defined. * macosx/tclMacOSXNotify.c: sync whitespace & comments with HEAD * unix/configure: regen.
| | * * unix/tclUnixFCmd.c (MAX_READDIR_UNLINK_THRESHOLD): reduce to 130hobbs2005-11-091-3/+3
| | | | | | | | | | | | | | | based on errors seen on OS X 10.3 with lots of links in a dir. [Bug 1034337 followup]
| | * * unix/tclUnixFCmd.c (TraverseUnixTree): Adjust 2004-11-11 change tohobbs2005-10-071-44/+61
| | | | | | | | | | | | | | | * tests/fCmd.test (fCmd-20.2): account for NFS special files with a readdir rewind threshold. [Bug 1034337]
| | * Convert u_int to unsigned to make clashes with types in standard C headers lessdkf2005-01-101-3/+3
| | | | | | | | | | | | of a problem. [Bug 1098829]
| | * * tests/fCmd.test:das2004-11-111-33/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | * unix/tclUnixFCmd.c (TraverseUnixTree): added option to rewind() the readdir() loop whenever the source hierarchy has been modified by traverseProc (e.g. by deleting files); this is required to ensure complete traversal of the source hierarchy on certain filesystems like HFS+. Added test for failing recursive delete on Mac OS X that was due to this. [Bug 1034337]
| | * backporting of filesystem tests, docsvincentdarley2003-10-031-5/+19
| | |
| | * * generic/tclFileName.c (Tcl_GlobObjCmd): [Bug 771840]dgp2003-07-161-3/+1
| | | | | | | | | | | | | | | | | | * generic/tclIOUtil.c (Tcl_FSConvertToPathType):[Bug 771947] * unix/tclUnixFCmd.c (GetModeFromPermString): [Bug 771949] Silence compiler warnings about unreached lines.
| * | * unix/tclUnixFCmd.c: adjust license header as perhobbs2010-08-041-6/+2
| | | | | | | | | | | | ftp://ftp.cs.berkeley.edu/pub/4bsd/README.Impt.License.Change
| * | * unix/tclUnixFCmd.c (TclUnixCopyFile): [Bug 2976504]: Correcteddkf2010-03-251-2/+2
| | | | | | | | | | | | number of arguments to fstatfs() call.
| * | [Patch 2892871]: Remove unneeded AC_STRUCT_TIMEZONE and usestwo2009-11-251-8/+9
| | | | | | | | | | | | AC_CHECK_MEMBERS([struct stat.st_blksize]) instead of AC_STRUCT_ST_BLKSIZE.
| * | Stop calling endpwent() and endgrent(); unneeded. [Bug 1942222]dkf2009-08-021-6/+2
| | |
* | | [Patch #2994165] Change signature of Tcl_FSGetNativePath and TclpDeleteFilenijtmans2010-08-141-3/+3
| | |
* | | * unix/tclUnixFCmd.c: adjust license header as perhobbs2010-08-041-6/+2
| | | | | | | | | | | | ftp://ftp.cs.berkeley.edu/pub/4bsd/README.Impt.License.Change
* | | * unix/tclUnixFCmd.c (TclUnixCopyFile): [Bug 2976504]: Correcteddkf2010-03-251-2/+2
| | | | | | | | | | | | number of arguments to fstatfs() call.
* | | Code Audit results:dkf2010-03-051-10/+9
| | | | | | | | | | | | | | | | | | | | | | | | * use do { ... } while (0) in macros * avoid shadowing one local variable with another * use clearer 'foo.bar++;' instead of '++foo.bar;' where result not required (i.e., semantically equivalent) * follow Engineering Manual rules on spacing and declarations
* | | [Patch 2892871]: Remove unneeded AC_STRUCT_TIMEZONE and usestwo2009-11-251-8/+9
| | | | | | | | | | | | AC_CHECK_MEMBERS([struct stat.st_blksize]) instead of AC_STRUCT_ST_BLKSIZE.
* | | Stop calling endpwent() and endgrent(); unneeded. [Bug 1942222]dkf2009-08-021-6/+2
| | |
* | | - eliminate some unnessary type castsnijtmans2009-02-031-6/+6
| | | | | | | | | | | | | | | - some internal const decorations - spacing
* | | eliminate -Wwrite-strings warnings in enable-threads build.nijtmans2008-12-161-3/+4
| | | | | | | | | | | | use TclNewLiteralStringObj()
* | | Implementation of TIP #210.dkf2008-11-291-1/+122
| | |
* | | Style improvements - invoking callbacks without visual junk.dkf2008-10-261-5/+5
| | |
* | | * doc/FileSystem.3: CONSTified Tcl_FSFileAttrStringsProcnijtmans2008-10-051-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * generic/tclFCmd.c: and tclpFileAttrStrings. This allows * generic/tclIOUtil.c: FileSystems to report their attributes * generic/tclTest.c: as const strings, without worrying that * unix/tclUnixFCmd.c: Tcl modifies them (which Tcl should not * win/tclWinFCmd.c: do anyway, but the API didn't indicate that) * generic/tcl.decls * generic/tclDecls.h: regenerated * generic/tcl.h: make sure that if CONST84 is defined as empty, CONST86 should be defined as empty as well (unless overridden). This change complies with TIP #27 *** POTENTIAL INCOMPATIBILITY ***
* | | Reduce the magic number countdkf2008-09-271-4/+6
| | |
* | | Get rid of pre-C89-isms (esp. CONST vs const).dkf2008-04-271-47/+46
|/ /
* | merge stable branch onto HEADdgp2007-12-131-1/+1
| |
* | Silence some warnings.dkf2007-11-161-3/+3
| |
* | * generic/tclIOCmd.c: Revise [open] so that it interprets leadingdgp2007-10-151-5/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | zero strings passed as the "permissions" argument as octal numbers, even if Tcl itself no longer parses integers in that way. * unix/tclUnixFCmd.c: Revise the "-permissions" [file attribute] so that it interprets leading zero strings as octal numbers, even if Tcl itself no longer parses integers in that way. * generic/tclCompExpr.c: Corrections to code that produces * generic/tclUtil.c: extended "bad octal" error messages. * tests/cmdAH.test: Test revisions so that tests pass whether or * tests/cmdIL.test: not Tcl parses leading zero strings as octal. * tests/compExpr-old.test: * tests/compExpr.test: * tests/compile.test: * tests/expr-old.test: * tests/expr.test: * tests/incr.test: * tests/io.test: * tests/lindex.test: * tests/link.test: * tests/mathop.test: * tests/parseExpr.test: * tests/set.test: * tests/string.test: * tests/stringComp.test:
* | Whitespace/format cleanupdkf2007-07-311-60/+57
| |
* | * unix/tclUnixFCmd.c: add workaround for crashing bug in fts_open()das2007-04-231-16/+31
| | | | | | | | * unix/tclUnixInit.c: without FTS_NOSTAT on 64bit Darwin 8 or earlier.
* | TIP#270 IMPLEMENTATIONdgp2006-11-151-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * generic/tcl.decls: New public routines Tcl_ObjPrintf, * generic/tclStringObj.c: Tcl_AppendObjToErrorInfo, Tcl_Format, * generic/tclInt.h: Tcl_AppendLimitedToObj, Tcl_AppendFormatToObj and Tcl_AppendPrintfToObj. Former internal versions removed. * generic/tclDecls.h: make genstubs * generic/tclStubInit.c: * generic/tclBasic.c: Updated callers. * generic/tclCkalloc.c: * generic/tclCmdAH.c: * generic/tclCmdIL.c: * generic/tclCmdMZ.c: * generic/tclCompExpr.c: * generic/tclCompile.c: * generic/tclDictObj.c: * generic/tclExecute.c: * generic/tclIORChan.c: * generic/tclIOUtil.c: * generic/tclMain.c: * generic/tclNamesp.c: * generic/tclObj.c: * generic/tclPkg.c: * generic/tclProc.c: * generic/tclStrToD.c: * generic/tclTimer.c: * generic/tclUtil.c: * unix/tclUnixFCmd.c:
* | * unix/tclUnixFCmd.c (CopyFile): [SF Tcl Bug 1586470]. Added codeandreas_kupries2006-11-071-1/+11
| | | | | | | | | | to fall back to a hardwired default block size should the filesystem report a bogus value.
* | * generic/tclBasic.c: Further revised TclAppendPrintToObj() anddgp2006-11-021-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * generic/tclCkalloc.c: TclObjPrintf() routines to panic when unable * generic/tclCmdAH.c: to complete their formatting operations, rather * generic/tclCmdIL.c: than report an error message. This means an * generic/tclCmdMZ.c: interp argument for error message recording is * generic/tclDictObj.c: no longer needed, further simplifying the * generic/tclExecute.c: interface for callers. * generic/tclIORChan.c: * generic/tclIOUtil.c: * generic/tclInt.h: * generic/tclMain.c: * generic/tclNamesp.c: * generic/tclParseExpr.c: * generic/tclPkg.c: * generic/tclProc.c: * generic/tclStringObj.c: * generic/tclTimer.c: * generic/tclUtil.c: * unix/tclUnixFCmd.c:
* | * generic/tclBasic.c: Refactored and renamed the routinesdgp2006-10-311-5/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * generic/tclCkalloc.c: TclObjPrintf, TclFormatObj, and * generic/tclCmdAH.c: TclFormatToErrorInfo to a new set of * generic/tclCmdIL.c: routines TclAppendPrintfToObj, * generic/tclCmdMZ.c: TclAppendFormatToObj, TclObjPrintf, and * generic/tclDictObj.c: TclObjFormat, with the intent of making * generic/tclExecute.c: the latter list, plus TclAppendLimitedToObj * generic/tclIORChan.c: and TclAppendObjToErrorInfo, public via * generic/tclIOUtil.c: a revised TIP 270. * generic/tclInt.h: * generic/tclMain.c: * generic/tclNamesp.c: * generic/tclParseExpr.c: * generic/tclPkg.c: * generic/tclProc.c: * generic/tclStringObj.c: * generic/tclTimer.c: * generic/tclUtil.c: * unix/tclUnixFCmd.c: