Commit Graph

548 Commits

Author SHA1 Message Date
mycroft 8465d5c10c Split out some helper functions again. 1995-05-21 13:38:25 +00:00
christos 4fb6f609aa Changed so that syntax errors (EXERROR) set the exit status to 2,
and commands that are not found set the exit status to 1 like all
other bourne shells.
[It used to be 0 and 2 respectively]
1995-05-19 15:08:55 +00:00
mycroft 3541700d61 Create and strvis(3) the argument and environment lists only as needed.
Do not keep extra copies around.
1995-05-18 20:33:20 +00:00
mycroft 3cd42e791d Do the right thing for an empty environment. 1995-05-18 15:35:59 +00:00
mycroft 3a23f31a10 Avoid an extra (gratuitous) pass through strvis(3). 1995-05-18 15:27:31 +00:00
mycroft d70850c69c Gather the argument and environment lists when we actually want to print them. 1995-05-18 14:37:03 +00:00
christos 56a08eccca Fixed bug where ${#} was interpreted incorrectly as ${#var} and thus
misparsed. Keith Bostic reported it.
1995-05-17 00:05:25 +00:00
cgd b5f33fc18e re-add an #endif that was (apprently) clobbered. 1995-05-15 03:29:54 +00:00
christos fbac2e9de2 Fixed new bug the previous fix introduced:
false
    foo=bar
    echo $?

would print 1
Also fixed the long standing bug:

    false
    echo `echo $?`

would print 0
The exitstatus needs rethinking and rewriting. The trial and error method
is not very efficient
1995-05-15 02:47:38 +00:00
christos 2e1970487e Fixed bug caused by previous x=`false` not preserving the exit status fix.
The if statement exit status broke...
1995-05-14 04:19:18 +00:00
christos 07bae7eddd Merge in my changes from vangogh, and fix the x=`false`; echo $? == 0
bug.
1995-05-11 21:28:33 +00:00
cgd fe9be699b4 add a 'holdcnt' keyword and document it. 1995-05-08 23:11:31 +00:00
cgd 630b3b093b add the ability to understand and print INT and UINT-sized variables. 1995-05-08 22:39:24 +00:00
pk e9b36a55e7 Sync process flags with sys/proc.h 1995-05-07 12:51:25 +00:00
mycroft 556d212c3d Use POSIX signal semantics. Change p_pid and p_jobid to pid_t's. 1995-04-29 23:21:28 +00:00
jtc 528957a005 Winning Strategies has placed this code into the Public Domain 1995-04-28 23:19:22 +00:00
cgd d7290b7687 clean up RCS Ids slightly, etc. 1995-04-23 10:07:18 +00:00
christos dae6c6b963 Added missing resource limits and recognize "unlimited" as RLIM_INFINITY 1995-04-11 03:17:45 +00:00
mycroft 50130476f4 Fix typo in S_FIFO case when copying recursively. 1995-04-02 01:45:25 +00:00
christos df504509f1 1. Don't core dump on 'fc -l' (From Gerard J van der Grinten)
2. PATH=xxx ls, does the PATH assignment first and then tries to find ls in xxx
3. VAR=xxx exec ls, does the variable assignment.
1995-03-31 21:58:09 +00:00
christos 6ee2193d9a Reverted to set - turning off -x and -v. Charles corrected me... It is part
of POSIX.
1995-03-26 17:25:10 +00:00
christos ad1f891148 set -
does not anymore clear the -x and -v flags. This was incompatible with
all other bourne shell implementations.
1995-03-25 23:45:24 +00:00
mycroft ca80d8a15f Rearrange Kerberos stuff. 1995-03-23 08:46:35 +00:00
mycroft 6bfd77e432 Fix typo in previous. 1995-03-23 00:01:03 +00:00
mycroft 7b38403c89 Use POSIX signals. 1995-03-21 18:35:32 +00:00
mycroft 3e417cced4 Use sigprocmask(), not sigsetmask(). 1995-03-21 15:40:16 +00:00
mycroft c39128a12d Remove dead externs. 1995-03-21 14:51:58 +00:00
mycroft ffe9a4ccf0 Update to use timer{add,sub}(). 1995-03-21 13:55:23 +00:00
cgd 49f0ad8601 convert to new RCS id conventions. 1995-03-21 09:01:59 +00:00
cgd 6ff461a4e8 actually do the import. rcp appears to have been previously imported
but not merged(?!?!?).
1995-03-21 08:18:58 +00:00
cgd e150dc2818 clean up slightly; id tags, alphabetization, prototypes, etc. 1995-03-21 07:28:51 +00:00
cgd 930fffb85d clean up id tags 1995-03-21 07:08:15 +00:00
cgd a86f3aeda3 clean up Id's, and such. reorganize man page slight to match lite's org. 1995-03-21 07:03:50 +00:00
cgd df247e9b94 merge with lite 1995-03-21 06:57:43 +00:00
cgd 7248fa283f clean up id tags, etc. 1995-03-21 02:08:51 +00:00
jtc da08b16c49 Changed to accept ``kill -0 pid'' (PR #842). 1995-03-17 05:48:48 +00:00
jtc 6c6b9acef0 Revert to code before it was merged with 4.4lite.
Updated to conform to new NetBSD RCS ID conventions.
1995-03-01 07:52:23 +00:00
mycroft 4c34be6b52 Clean up deleted files. 1995-03-01 00:00:00 +00:00
christos 5c42185b5c Oops... typo in the IFS previous fix. 1995-02-28 23:27:24 +00:00
christos 6ab1954578 Changed so that backquote expansion eats all trailing newlines, not just
the last one.
Reported by guido@gvr.win.tue.nl (Guido van Rooij).
Repeat By:

	echo "`cat file-with-many-newlines`"
1995-02-28 23:09:43 +00:00
christos 3936aab031 Changed IFS string-splitting so that it breaks spaces even when IFS does not
begin with a space, but contains one. Fixes PR bin/809.

        #!/bin/sh
        list="a  b c "
        echo "With ordinary IFS"
        for i in $list;do
            echo $i
        done
        IFS=":${IFS}"
        echo "With changed IFS"
        for i in $list;do
            echo $i
        done

Note that before the fix ":${IFS}" behaved differently than "${IFS}:".
1995-02-28 22:46:12 +00:00
mycroft 705a6ebacb Use S_IS*(). 1995-01-30 19:39:36 +00:00
mycroft f5ad44b6ac Use S_IS*(). 1995-01-30 19:30:13 +00:00
mycroft cfbbe9b764 Document the `-t' option as in umount(8). 1995-01-30 18:14:55 +00:00
mycroft c3b978fa44 Various:
* Redo `-t' handling like mount(8) and umount(8).
* Don't force a stat of every fs unless we need it.
* When using an explicit list, stat everything before printing anything, and
minimize the column width.
1995-01-30 18:10:51 +00:00
mycroft 89fb48a178 Fix core dump reported by Wolfram Schneider. 1995-01-26 06:01:36 +00:00
hpeyerl b4c2155aa1 ECBDIC->EBCDIC 1995-01-23 18:21:48 +00:00
christos ad8d5369f5 I added the documented in the manual but not implemented variable expansions:
${#WORD}
    ${WORD%PAT}
    ${WORD%%PAT}
    ${WORD#PAT}
    ${WORD##PAT}
1995-01-23 06:33:03 +00:00
mycroft 4d643bf207 Remove `.' from default PATH. 1995-01-20 18:21:16 +00:00
mycroft c4459d08d9 Clean up deleted files. 1995-01-15 10:15:19 +00:00
mycroft 2425ddde47 Remove the gratuitous `security' warnings. 1995-01-15 09:47:36 +00:00
mycroft 4bcd14e0b4 Remove the gratuitous `security' warning. 1995-01-15 09:29:16 +00:00
mycroft 9154deaefa Stay on the correct line at the end of a substitute command. From Andrew Moore. 1995-01-15 06:18:29 +00:00
mycroft 71dcdbe0d4 Change directory permissions in pre-order. 1995-01-15 05:50:26 +00:00
mycroft 720e729421 Add `-t' option from Matthew Green, hacked a bit by me. 1995-01-13 23:23:41 +00:00
jtc cc9fe5ba6d Describe the : shell builtin.
Fixes PR #712.
1995-01-12 23:35:56 +00:00
mycroft ddc6e993fc Better fix for the previous. 1995-01-08 07:01:36 +00:00
mycroft 3f1b5c3296 Fix oversight in previous change, when argument list is sort of empty. 1995-01-08 06:42:42 +00:00
mycroft e848bd4fb5 Fix that last bug in a less expensive way. 1994-12-31 23:56:54 +00:00
cgd 809218efc4 take two: make grabstackstr() work correctly, in the face of strange filling. 1994-12-31 01:56:16 +00:00
mycroft 1c21834ccb Remove previous misguided change. 1994-12-30 06:33:59 +00:00
mycroft 0155aa3b5e Mostly sync with CSRG. 1994-12-28 01:37:49 +00:00
mycroft d966913f57 Sync with CSRG. 1994-12-27 23:14:46 +00:00
cgd 58f1733118 be more careful with casts. 1994-12-23 13:24:39 +00:00
cgd 42f0dae5e3 pull prototypes into scope for string functions. 1994-12-23 13:24:10 +00:00
cgd 17ed2a67b2 pull some prototypes into scope. 1994-12-23 13:22:13 +00:00
cgd e9aebcc9d8 don't play fast and loose with memory block allcation. try to allocate
in more-round sizes, but realize that not everybody will fill them up
exactly.
1994-12-23 13:21:01 +00:00
cgd db1ae625b5 eliminate two wrong-sized variables which were unused. 1994-12-23 13:20:10 +00:00
cgd 6abb26e555 be careful with addresses. 1994-12-23 13:19:41 +00:00
cgd f04c743d2d be careful with pointer types. 1994-12-23 13:18:20 +00:00
cgd b32916a5d5 new way of specifying man pages. 1994-12-22 09:23:05 +00:00
cgd 7e7441ee3e add USD.doc to subdir list on install 1994-12-18 11:42:39 +00:00
cgd 73cf954189 adjust; from jimj. 1994-12-06 19:13:02 +00:00
cgd 4ce0d34a31 clean up further. more patches from Jim Jegers 1994-12-05 19:07:32 +00:00
cgd 5dad143982 from James Jegers <jimj@miller.cs.uwm.edu>: quiet -Wall, and squelch
some of the worst style errors.
1994-12-04 07:11:37 +00:00
mycroft a99fc6c377 Format police. 1994-11-25 08:05:55 +00:00
deraadt a583ccb069 print %MEM correctly 1994-11-25 07:01:11 +00:00
jtc 6cd3ad1d11 ulimit builtin (PR #388)
This public domain code, originally by Doug Gwyn, Doug Kingston, Eric
Gisin, and Michael Rendell was ripped from pdksh 5.0.8 and hacked for
use with ash.
1994-11-04 17:13:27 +00:00
cgd 6d9009aacb bugs don't get any dumber than this. 1994-11-04 09:59:07 +00:00
deraadt 8f25fc60d3 kill UPAGES 1994-11-03 04:33:17 +00:00
jtc 1a6ccc3e14 Strip trailing slashes of operands in checkdot().
POSIX.2 requires that if "." or ".." are specified as the basename
portion of an operand, a diagnostic message be written to standard
error, etc.  We strip the slashes because POSIX.2 defines basename
as the final portion of a pathname after trailing slashes have been
removed.

This also makes rm "perform actions equivalent to" the POSIX.1
rmdir() and unlink() functions when removing directories and files,
even when they do not follow POSIX.1's pathname resolution semantics
(which require trailing slashes be ignored).
1994-11-02 16:17:14 +00:00
mycroft f67cdf925f Add `-o' option to usage string. 1994-10-25 02:29:46 +00:00
andrew 61043b5d11 Added mention of the retension, erase and eom options. 1994-10-16 11:46:49 +00:00
jtc a5df115331 use strerror() instead of sys_errlist[] 1994-10-11 06:06:44 +00:00
mycroft 6b78d3957c Clarify the history a bit. 1994-09-26 06:54:38 +00:00
mycroft 6a58570d9a Small grammar fix. 1994-09-26 06:53:44 +00:00
mycroft b82fefc7b2 Make the usage messages more closely match the man pages. 1994-09-26 06:53:21 +00:00
mycroft 06f53b6838 Eliminate uses of some obsolete functions. 1994-09-23 11:28:39 +00:00
mycroft baccf0fbd1 Eliminate uses of some obsolete functions. 1994-09-23 11:16:28 +00:00
mycroft 83ede345fb Merge with 4.4-Lite version. 1994-09-23 06:14:39 +00:00
mycroft 5b20b0d3c6 New version, derived from hostname(1), with a corrected man page. 1994-09-22 09:42:45 +00:00
mycroft ea92d19cb0 Reference domainname(1), and check for too many arguments. 1994-09-22 09:41:26 +00:00
mycroft 667b5ea158 Merge 4.4-Lite version. 1994-09-22 09:24:46 +00:00
mycroft b36149f49a Clean up deleted files. 1994-09-22 09:24:44 +00:00
mycroft 051219a643 Merge 4.4-Lite version. 1994-09-22 09:24:35 +00:00
mycroft e40b06360c Import original 4.4-Lite version. 1994-09-22 03:04:15 +00:00
mycroft 9dccee4f46 Remove a couple of changes we no longer need. 1994-09-21 00:40:40 +00:00
mycroft 6174c16ac6 Merge 4.4-Lite version. 1994-09-21 00:12:43 +00:00
mycroft 6946a8eec4 Clean up deleted files. 1994-09-21 00:11:21 +00:00
mycroft cee2bad89f Merge 4.4-Lite version. 1994-09-21 00:10:23 +00:00
mycroft a83bf514ca Import original 4.4-Lite version. 1994-09-20 05:39:48 +00:00
mycroft 818272eaa3 Import original 4.4-Lite version. 1994-09-20 05:28:59 +00:00
mycroft fe5a9095e0 Merge with 4.4-Lite version. 1994-09-20 04:52:02 +00:00
mycroft 7df690ffe6 Merge 4.4-Lite version. 1994-09-20 04:18:10 +00:00
mycroft 691f8c4267 Need limits.h. 1994-09-20 04:08:23 +00:00
mycroft a7a0533596 Merge with 4.4-Lite. 1994-09-20 04:07:01 +00:00
mycroft ef719df409 Merge with 4.4-Lite version. 1994-09-20 01:24:07 +00:00
mycroft 9baa91f322 Merge with 4.4-Lite version. 1994-09-20 00:37:13 +00:00
mycroft 07cdfa9cd1 Integrate `-c' option, from Arne Juul. 1994-09-16 22:23:29 +00:00
mycroft 9c2fbdc245 Deal with large file systems, and clean up a bit. 1994-09-16 20:59:27 +00:00
deraadt 5e6898c083 NBPG -> getpagesize() 1994-09-15 02:00:34 +00:00
mycroft d22a514772 Fix problem with character classes matching a terminating NUL, from Henry
Spencer.
1994-08-29 01:54:39 +00:00
mycroft 08a6730054 Fix a core dump and another parse error related to null commands. 1994-08-24 05:48:26 +00:00
jtc 1d1682d63c vmunix -> netbsd (PR #375) 1994-08-06 06:11:03 +00:00
deraadt 1a69335ad4 do not need -I/sys 1994-08-03 20:46:47 +00:00
jtc 8cc67c8556 Don't source the file specified by $ENV if either the real and effective
user IDs or the real and effective group IDs of the process are different.
Thanks to Mark Weaver who pointed this out in PR 262.
1994-08-03 16:25:26 +00:00
mycroft 625270ca0f Fix bogus freeing of memory. 1994-07-31 09:23:10 +00:00
mycroft abe60a1e07 Clean up deleted files. 1994-07-16 00:17:15 +00:00
jtc b9e9314bd7 Re-implemented with a recursive descent parser.
Fixed subtle bug wrt. comparing integers when either one hasn't been
coersed from a string --- while avoiding an even subtler bug found in
GNU expr.
1994-07-16 00:17:03 +00:00
jtc 7acf86db2f Don't dump core when evaluating X % 0.
Simplify lexer by using %prec feature in yacc grammar.
Implement most of the operators required by POSIX.2.
1994-07-15 23:45:30 +00:00
glass 3c285ea60f fix typo 1994-07-12 07:58:27 +00:00
cgd 00dc18214f don't forget a cast, and thereby fix the regexp problems on big-endian machines 1994-07-10 23:51:11 +00:00
mycroft aaed410145 Fix some problems with empty commands. 1994-07-07 20:53:32 +00:00
cgd 2c405cf3ed from jtc: insure that 3 and 4 argument special cases work properly. 1994-07-07 19:08:11 +00:00
mycroft 188b97d955 Bandaid quoting. 1994-07-07 16:24:34 +00:00
mycroft afb839bea0 Clean up deleted files. 1994-07-03 07:26:03 +00:00
deraadt 8b8caa9aa0 devname is in libc now 1994-07-03 07:25:57 +00:00
pk f5bd9f5624 save state of `gflag' across calls to backeval(), allowing globbing to
continue after backquote expansion. (fix for bug #309)
1994-07-01 20:39:21 +00:00
mycroft 54718335ed Clean up deleted files. 1994-06-30 05:12:42 +00:00
jtc 008c3a98a0 Replaced test with simpler, more feature rich, version derived from pdksh. 1994-06-30 05:12:29 +00:00
jtc 61c805aef5 The file_descriptor argument to the -t primary is no longer optional. 1994-06-29 22:26:50 +00:00
jtc 9659258f38 Removed code that checked if arg was a unary operator when test is called
with only one argument.  It's not a syntax error --- it's a special case.
1994-06-29 22:10:16 +00:00
mycroft 32a94e53c4 Clean up deleted files. 1994-06-24 07:33:21 +00:00
jtc 4aece6a461 Renamed builtins to builtins.def to eliminate make's (incorrect) circular
dependancy between the builtins data file and builtins.c.

The bug only occured when there was no obj directory, and is a result of
NetBSD's better (compared to 4.4lite's) default make rules.

Fixes bug #301.
1994-06-24 07:33:12 +00:00
pk e42d6feaa0 No more P_NOSWAP/P_PHYSIO. 1994-06-16 19:30:50 +00:00
pk f7e4697f3d Declare devname(). 1994-06-16 19:29:45 +00:00
mycroft 2efb881840 Re-fix an old bug. 1994-06-15 04:13:46 +00:00
jtc 918ce04f57 From Christos:
1. Fix `-' quoting in [ ] expressions.
  2. Fix expansion of variables in redirections
1994-06-14 05:49:19 +00:00
jtc eb06615913 Whoever wrote the tar command line argument parsing code didn't realize
that the order of arguments is different if the command flags are specified
without a `-'.  I've integrated getoldopt.c from John Gilmore's pdtar which
handles argument parsing correctly.
1994-06-14 01:16:02 +00:00
mycroft 8c95c5f91f Fix up RCS ids. 1994-06-14 00:40:58 +00:00
jtc a228e9fb76 add pax 1994-06-13 16:48:41 +00:00
jtc 7d76b00baf Add RCS ID's 1994-06-13 16:33:34 +00:00
jtc 8b35abe2bf From 4.4 lite 1994-06-13 16:13:35 +00:00
chopps 8ed58a738d fixup for new fs code. 1994-06-13 06:39:17 +00:00
jtc 212ba62f56 Set the status variable ($?) to 0 after a successful variable assignment. 1994-06-12 02:31:28 +00:00
mycroft cafd1f7e9f Add RCS ids. 1994-06-11 16:11:35 +00:00
jtc 7210460c54 Fix from Christos for when NO_HISTORY is defined 1994-06-08 19:26:51 +00:00
pk cefd9f107c Exclude `mkinit' from argument list to `mkinit'; this especially causes
trouble when compiling with `-g'.
1994-06-02 09:10:58 +00:00
jtc 20ddd6eee4 Fixed another case statement parsing bug that was introduced by my
last fix :-(.  Thanks to Theo for letting me know about it...
1994-06-01 21:36:54 +00:00
jtc d8e5937418 Re-worked case statement parsing. With luck, this fixes bug #268. 1994-05-30 20:05:40 +00:00