Age | Commit message (Collapse) | Author | Files | Lines |
|
Fixes #287
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|
|
There are very few posix platforms where fork isn't available.
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|
|
jim.h now includes JIM_ABI_VERSION that should be incremented whenever
the ABI changes. Then all loadable modules should call Jim_CheckAbiVersion()
to make sure they are loaded against the correct version.
Add Jim_PackageProvideCheck() that does both Jim_CheckAbiVersion()
and Jim_PackageProvide() to simplify the implementation of loadable extensions.
Also rename the "big" sqlite3 extension to just sqlite to avoid a naming conflict with
the smaller jim-sqlite3 extension.
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|
|
- fix popen [open "|pipeline ..."] to return meaningful status in close
(but note that stderr is not captured)
- popen pipelines can now be used as the target of exec redirection
- overally improvements to exec on windows. Now crt file descriptors
are used throughout
- add support for [pid], [wait] and popen on windows
- os.wait is now wait, and integrates with [exec ... &] to be able
to wait for running background tasks
- [socket pipe] is now also [pipe] and is supported on windows
- [file tempfile] is supported on windows
- move duplicated code between jim-aio.c and jim-exec.c to jimiocompat.c
- Fix [exec] on windows to match unix semantics wrt sharing the parent stream
unless redirected rather than using /dev/null
- On windows redirect to or from /dev/null is automatically converted to NUL:
- If signal support is disabled, implement a minimal Jim_SignalId() for exec and wait
- aio now supports getfd, to return the underlying file descriptor.
This is used by exec to support redirection, and allows popen channels
to support exec redirection.
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|
|
Courtesy of coverity
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|
|
Simplifies the process of building loadable extensions
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|
|
Some files still indicated the older Apache licence.
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|
|
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|
|
inet_ntop needs -lnsl on Solaris
Solaris has sysinfo, but no uptime
Link flags need to be a bit different
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|
|
This allows systems with vfork() but not fork() to
have a full exec implementation, including constructs such
as 2>@1 and background exec with &
Also remove the --disable-fork option.
It doesn't really make sense now since exec uses vfork
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|
|
Ensure that no public headers include the autoconf
header, jimautoconf.h, as it leads to problems
with redefined symbols.
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|
|
All C extensions must call Jim_PackageProvide()
make-c-ext ensures that Tcl extensions call Jim_PackageProvide()
if compiled in.
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|
|
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|
|
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|
|
Use 'indent'. Not perfect, but at least consistent.
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|
|
Create and use config.h
Check for backtrace, fork, vfork, syslog, regcomp and others
Disable extensions which require missing functions/features
Check for one arg vs. two arg mkdir()
Distinguish between mingw and native windows
The aio extension has reduced functionality for ANSI C only
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|
|
Add some missing files needed for autoconf
Make jim build standalone and without host jimsh
Use (FILE *) for eventloop file handle
Don't expect to support dynlib if no mmu
Re-add nvp and win32 support (untested)
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|
|
Makes creating error messages much simpler
Also convert a couple of long if/else to switch
Also some error message improvements
Also fix some memory leaks
|
|
jimsh - retry on EINTR from fgets()
Fix 0 -> NULL for 64 bit systems
Fix overlapping memcpy
Fix jim array dereferencing bug
*: Counting of parentheses was incorrect with nested array references
*: The result for array dereference wasn't being used properly
Add os.uptime command
Documentation: autogenerated command index
Fix gets when last line has no newline
|
|
Ensure that exec returns an error if appropriate
Background exec returns a list of pids
Need to close error filedescriptor
Add os.wait
|
|
Support @filehandle syntax
Support for nommu
Disable os.fork for nommu
Remove trailing newline
No need for binary escaping in bio module
------------------------------------------------------------------------
|
|
Implement 'lreplace'
Implement 'string last'
Implement 'pid'
Implement 'info procs'
Implement 'info script'
Implement 'info patchlevel' as an alias for 'info version'
Implement syslog extensions for jim
Fix return code display in jim-interactive.c
Make jim more compatible if JIM_TCL_COMPAT is set
*: Use tcl_interactive rather than jim_interactive
*: Use auto_path rather than jim_libpath
Add "." to the lib search path, not "./"
Fix a couple of files with CRLF line endings
|
|
jim
---
Add a unique id facility to jim (Jim_GetId())
Remove unused jim_vasprintf(), Jim_AppendString_sprintf()
Remove duplicate output in Jim_Panic()
Add support for catch -signal
aio
---
Use this for aio handles
aio automatically creates stdin, stdout and stderr channels
Jim_AioFilehandle() returns the 'FILE *' filehandle for a channel
If JIM_TCL_COMPAT is set, create top level open, close, read, puts, etc.
load
----
load core command split out into jim-load.c
package
-------
package core command split out into jim-package.c
added 'package list'
posix
-----
Remove os.sleep, os.usleep, os.sethostname, os.signal, pit, Jpit
Most of these are in 'signal'
|
|
Also clean up some white space
|
|
Nvp, getopt, move interactive processing to jim-interactive.c
|
|
Note that this commit removes some files and undoes
some commits which will be reapplied later.
This is the easiest way to switch across.
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|
|
Remove "FreeBSD license" statements, since it's not a correct term
I believe.
Small cleanup while being here.
|
|
This reverts commit 1e2fdd7d9e877fbe2c88a4c32f098ce1e575dc1d.
|
|
for relicensing all files within Jim project.
"FreeBSD license" isn't correct term, so basically remove it.
Try to make the whole place consistent.
|
|
[pit] point in time and [jpit] julian point in time.
|
|
|
|
|
|
Core commands handling updated to respect the new sematic.
|
|
|
|
|
|
|
|
|
|
|
|
language implementation, while the shell is into jimsh.c,
that is actually the first example of embedder of Jim.
Important changes in jim.h to make Jim play well with
extensions/embedders at the same time, and to deal
with multiple files.
Extensions now must define JIM_EXTENSION before to include
jim.h, embedders must define JIM_EMBEDDED before to include jim.h.
|
|
useful because only the core has to defile __JIM_CORE__.
Added ctype.h in jim-win32com.c.
|
|
4 spaces. No tabs used at all.
|
|
API changed accordingly.
|
|
|