and also include files don't have mismatched .if/.endif
It has been suggested that make used to have this test, but I can't
remember removing any code that might have performed it.
- adds a server mode for incoming bluetooth connections
- does not cfmakeraw the slave tty as this caused problems
- does not hold open the slave tty as this prevented multiple opens
- modifies the termios for stdio so that this can be used directly
by a user.
TOOL_SED:
* Parameterise JOIN, MKTEMP, NM, SED, and SORT. Previously
only NM and MKTEMP were parameterised.
* Rewrite some duplicated code using a loop.
* More careful quoting of shell variables.
* `...` -> $(...)
configuration file (although it is meant to be used mostly with
std.${ARCH}), and prints out a configuration file that includes it and
select every single option and parameter, and define an instance for every
single possible attachment. IOW, selects everything, into a would-be
"LINT" config.
The resulting config really isn't meant to be runnable, but should be
somewhat buildable on most archs. It still needs adjustments because some
options are peculiar (e.g., ACPI_DSDT_FILE wants an existing file as its
value), so it's not yet possible to do "config -L; config; build" in an
automated way.
- Move documentation for "package", because as I learned tonight, it's not
allowed before setmachine. You get to discover scary new stuff about
config(1) each time you look at it.
- Use EXIT_SUCCESS/EXIT_FAILURE instead of 0/1.
- Additional check for regular file.
- Use pread() instead of lseek() + read().
- Check for partial read to prevent out-of-bounds memory access.
- Added FIXME to onintr(): This is no proper signal handler albeit might
not really matter here.
2) When doing attachments set the "name=" parameter of the
Content-Type field, in addition to the (already) set "filename="
parameter of the Content-Disposition field. Some utilities (e.g.,
metamail) use this parameter for the filename even though (I believe)
the "filename=" parameter of the Content-Disposition field is
preferred by the standard (I can't find this explicitly except for
"application/octet-stream" types - see RFC1521 sec 7.4.1 and RFC2046
sec 4.5.1). My impression is that the "name=" parameter of the
Content-Types field is really intended for use when retrieving a file
not in the message, e.g., "message/external-body" Content-Types, and
not for the filename.
(Thanks to wiz@ for noticing this in his spam logs.)
3) Be more careful when determining the Content-Type of 1-byte
attachments. libmagic(3) isn't helpful on such small files.
Instead of copying the file byte by byte into an expanding line buffer, just
scan the file buffer for (unescaped) newlines.
Escaped newlines (etc) are processed by modifying the file buffer later.
Speeds up 'nbmake obj' by a factor of 2.
I suspect it will do wonders for parts of pkgsrc as well, since it largely
eliminates cpu cycles from the false part of .ifs.
It caused config(1) to crash on the following assert() if the list was used.
This bug shows up after the recent change in files.c which fixed a memory leak.
pointed out by dogcow@
reviewed by cube@
1) Add support for message selection based on the message body. The
pattern matching is done on the MIME decoded body as would be seen by
the print command.
2) Don't hook editline when doing headers only: that mode is never
interactive and it messes up piping if output is redirected to a
command that expects tty input, such as 'more'.
Convert a "(void)&" construct to volatile.
Make two variables in wwiomux.c volatile that gcc -Wextra complained about.
Do proper initialization of lcmd_arg tables and flag some variables
__unused so this will compile with gcc -Wextra.
Convert "(void)&" constructs to "volatile".
Check gid against (gid_t)-1 rather than >= 0; gid_t is unsigned.
Flag some parameters __unused so this will compile with -Werror.
Commons up the code for reading files and buffers, and allows a further
change where we don't copy the data out of the buffer when generating 'lines.
This will speed up makefile parsing (esp .if clauses).
1) When detaching, don't try to close things we shouldn't (after
doing the header). Specifically, mip->mi_head_end was not
getting set correctly in mime_sendmessage().
2) Change paging to be closer to its old behavior: next, dt, and dp
should only page if the crt variable is set; and don't automatically
page most other commands - the user can always pipe them into more.
bin/ls sources to libutil:
o Bump libutil minor version number
o Fix uses to include <util.h> to pick up the function definitions
o Fix most uses of flags_to_string() to release the now-malloc()ed result
duration of a track. call lba2msf like this:
lba2msf(len - 150, &m, &s, &f);
^^^^^
from rev 1.41 of FreeBSD usr.sbin/cdcontrol/cdcontrol.c, Dmitry Afanasiev.
XXX: note that this is a mis-use of lba2msf() because 'len' is the length
of the track in frames, not a logical block address (lba).
ParseTraditionalInclude() into a separate routine.
Fix the 'use after free' and 'free on item not malloced' that got added
to ParseTraditionalInclude() in Feb 2006 (rev 1.111).
Kill the 'PTR' struct and put both its members into IFile.
Remove the parameter from ParseEOF(), 1 of the 3 calls passed the wrong value!
Fortunately another test stopped anything nasty happening, we'll use that
test instead.
Partially restore the "crt" variable: if set, the [pP]rint and [tT]ype
commands invoke the PAGER making them identical to the [pP]age and
[mM]more commands. Its value is now ignored. If anyone really
objects, I will do my best to restore the old behavior, but it really
doesn't fit very well into the current paging architecture.
into every 'gnode' (aka target), instead just copy a pointer to the string
and avoid freeing the original name when we close the file.
I can't imagine any makefile set where this gives a larger footprint!
the short parts of some conditionals first.
First step towards speeding up the parsing of makefiles (esp. the unwanted
parts of .if clauses).
There should be no changes to the logic.
- Only test 'printVars' once.
Has side effect of not trying to find the 'main' target for '-V varname'.
- Only reap the single child process in Cmd_Exec(),
I think this is for 'xx != cmd' so probobably no other children should exist.
- Don't read and parse .depend if '-r' and '-V varname' are set.
I suspect that .depend shouldn't affect the output of any -V command...
It doesn't need a two-dimensional array to remember the states of .if lines.
It would be even simpler if we didn't try to detect .else and .elif lines
that follow .else lines.
Unfortunately this isn't the code that is stupendously slow...
1) Statification of modules.
2) Implement the 'detach' and 'Detach' commands for extracting mime
parts from messages.
3) Teach mail to output "In-Reply-To" and "References" header fields
when replying so others can thread us.
4) Implement threading, sorting, and tagging, supported by the
following commands: 'flatten', 'reverse', 'sort', 'thread',
'unthread', 'down', 'tset', 'up', 'expose', 'hide', 'tag',
'untag', 'invtags', 'tagbelow', 'hidetags', 'showtags'.
See the manpage for details (when available - soon).
5) Implement a 'deldups' command to delete duplicate messages based on
their "Message-Id" field, e.g., in replies to a mailing list that
are also CCed to a subscriber. (This can also be accomplished with
the threading and tagging commands.)
6) Implement 'ifdef' and 'ifndef' commands, and make the conditionals
nestable (i.e., implement a conditional stack). The if/else/endif
commands existed before, but they were primitive and undocumented.
The 'if' command currently recognizes the "receiving", "sending",
and "headersonly" mode keywords.
7) Teach the message selecting routine to understand regular
expressions if "regex-search" is defined. Otherwise only case
insensitive substring matches are done (as in the past).
8) Teach the message selection routine to understand boolean
expressions. Improved "colon-modifier" support. See the manpage
for details (when available - soon).
9) Extend paging to all commands (where relevant).
10) Add shell like piping and redirection of (standard) output (if
"enable-piping" is defined). Extend completion to these contexts.
11) The manpage should follow soon!!!!