Commit Graph

10218 Commits

Author SHA1 Message Date
enami ca3f8e6df1 Avoid infinite loop. 2009-01-29 07:48:39 +00:00
dsl 530cac2556 Allow for () in the argument to .ifdef et al.
Save/restore current values of global data across expression evaluation
to give ${foo:? ...} a change of working inside another .if.
2009-01-28 21:38:12 +00:00
wiz c63e1c5ce5 Bump date for previous. 2009-01-28 09:11:16 +00:00
lukem afa4cb0e7f Rework how reading keys functions so that key lookups from hash databases
works again.  (I accidentally broke that in rev 1.15)
Fixes problem noted by Masao Uebayashi.
2009-01-28 05:48:49 +00:00
lukem 1a5f8e0d09 update documentation to reflect reality:
* read mode supports -D for btree
* all modes support -U
2009-01-28 05:31:18 +00:00
christos f6ce57fa5b fix typo. 2009-01-27 16:53:42 +00:00
christos 49d8963a92 we have memcpy and port.h needs it. 2009-01-27 16:22:58 +00:00
lukem 1742612d3c sign-compare fix for amd64 2009-01-25 14:07:18 +00:00
lukem d4bbf23d28 sign-compare fixes 2009-01-25 14:06:00 +00:00
dsl b294f6c2a3 Fix sense of MAKE_NATICE test. 2009-01-24 23:19:50 +00:00
dsl 4802ea584f Add #ifndef MAKE_NATIVE around __RCSID 2009-01-24 23:07:48 +00:00
skrll 51241d8bac Mention -c. Hi Matt. 2009-01-24 15:00:55 +00:00
dsl 97347d2cbb Fixes to includes of make_malloc.h to that it actually builds when
USE_EMALLOC is undefined.
Fixes earlier fixes :-)
2009-01-24 14:43:28 +00:00
cegger 9fde1a673e buildfixes for OSX:
- include <sys/types> for size_t
- progname is undeclared
- include <string.h> for string functions like strlen()
- include <errno.h> for errno
2009-01-24 13:06:16 +00:00
wiz 6942778bea Sort sections. Fix typo (last line). 2009-01-24 13:02:33 +00:00
cegger e6227c556c buildfix: remove RCSID. It conflicts with the definition in the .c files. 2009-01-24 12:59:51 +00:00
dsl 4fb693c12c Move the bmake_malloc() functions into their own .c and .h files.
Include instead of make.h in a few places.
2009-01-24 11:59:39 +00:00
dsl 5d04927c08 Correct the definition of the :? modifier - in particular the modifier
applies to the variable name, not its value!
Remove the set of examples that were recently added that failed to
explain why some worked and some didn't.
Add a not to the compatability section about the change in .for loop
substitution post 5.0.
Add a BUGS section.
XXX the BUGS section needs more entries :-)
2009-01-24 11:56:41 +00:00
dsl a1e84ff783 Don't cast 'time_t' to 'void *' and back it will lose precision. 2009-01-24 10:59:09 +00:00
dsl 86df0d691f Sprinkle some const.
In particular for Lst_Find() and Lst_FindFrom().
Remove some unneeded casts and some now-undeeded UNCONST().
2009-01-23 21:58:27 +00:00
dsl 0cbb4ab551 Change 'ClientData' to 'void *' so that relevant parameters can
be made 'const void *'.
2009-01-23 21:26:30 +00:00
dsl d6c81d7cf1 There is no point in saving the last character of a NUL-terminated
string in order to overwrite with a NUL, then restore the original value!
Remove and simplify the CondDoFoo() functions.
2009-01-23 20:22:50 +00:00
christos e350c8475d Don't hard-code AMD_SUPPORT. 2009-01-21 13:13:26 +00:00
tron 31faff7381 Include "bsd.own.mk" to get the definition of "NETBSDSRCDIR" via
"/etc/mk.conf". This fixes manual use of "make cleandir".
2009-01-20 22:49:29 +00:00
drochner d767912be3 Change major()/minor() to return 32-bit types again, called
devmajor_t/devminor_t, as proposed on tech-kern.
This avoids 64-bit arithmetics and 64-bit printf formats in parts
of the kernel where it is not really useful, and helps clarity.
2009-01-20 18:20:47 +00:00
jmmv 0cdcf7cea6 Remove ATF 0.5 from dist/atf and all of the reachover Makefiles used to
build it.  0.6 is going to be imported in external/bsd/atf, with all the
necessary Makefiles in that same hierarchy.
2009-01-19 07:08:14 +00:00
apb 53ee7761e4 Integer values, no matter what their width, are cast to int64_t or
uint64_t for printing.  Because of this, parse.c:rewrite() should use
PRI[diouxX]64 as the printf format; the previous revision which used
"lld" and friends was a temporary measure.  We assume that PRId64 ends
with 'd', PRIx64 ends with 'x', etc.

In display.c:display(), change some u_intNN_t types to C99 standard
uintNN_t types, and consistently cast to [u]int64_t when printing
integer values (even in two cases where it's not really necessary but it
makes the code look more consistent).
2009-01-18 21:34:32 +00:00
dsl 60ec4ca26f Revert previous - cause grief with .ifdef (foo)
Instead return False for exists(), defined(), make() etc when the
argument has length zero.
2009-01-18 17:30:19 +00:00
dsl bae3fcc0c3 Only terminate a conditional function argument on ')' if we expect the
argument to be exclosed in (...).
'.if exists()' is parsed as '.ifdef exists()' and the ')' must not be
left over at the end.
I have no idea why any of my recent changes have affected this.
But pkgsrc/mk/compiler/gcc.mk (line 488) does .if exists(${FCPATH})
even though FCPATH is only set when the file exists.
2009-01-18 12:50:15 +00:00
lukem c493aef500 fix -Wsign-compare issues 2009-01-18 07:11:45 +00:00
lukem 7e973711c3 fix -Wsign-compare issues. minor knf 2009-01-18 07:08:30 +00:00
lukem af17a5d8f3 fix -Wsign-compare issues 2009-01-18 07:05:53 +00:00
lukem a09351730c fix -Wsign-compare issues 2009-01-18 01:34:30 +00:00
lukem ab93b4bc61 fix -Wsign-compare issues 2009-01-18 01:31:12 +00:00
lukem c172e3b989 fix -Wsign-compare issues 2009-01-18 01:29:57 +00:00
lukem 0449f26fed fix -Wsign-compare issues 2009-01-18 01:02:41 +00:00
lukem aadf5fe187 Fix -Wsign-compare issues:
* Provide our own TOKEOF enum, rather than using stdio's EOF (which is signed)
* Use tokid_t instead of int where appropriate
2009-01-18 01:02:31 +00:00
lukem fb103c5334 fix -Wsign-compare issues 2009-01-18 00:37:53 +00:00
hans ec644bbf21 Use ll instead of non-standard q as length modifier in format strings.
Makes this work on Solaris. OK by apb.
2009-01-17 23:24:30 +00:00
wiz 714b5c355f Improve description in NAME section:
"serial terminal emulator"

From nick@openbsd via jmc@openbsd.
2009-01-17 20:59:01 +00:00
dsl 18e81da746 __predict_false() isn't defined if we aren't netbsd, stub out. 2009-01-17 13:55:42 +00:00
dsl 462d090d0f Change 'Buffer' so that it is the actual struct, not a pointer to it.
Saves having to malloc/free a fixed size structure.
Buf_Init() now takes ptr to Buffer to initialiase.
Change Buf_Destroy() to return ptr to string when not freed.
Remove large number of casts to (Byte) and (Byte *) - 'Byte' is 'char' here.
Buf_AddByte[s] guarantees that the data is 0 termininated, so never add '\0'.
Keep 'count' not 'left' and 'inPtr', code is simplier with only one update.
Fix fallou, no functional change.
2009-01-17 13:29:37 +00:00
dsl d020c6ab24 Allocate string vector in chunks, instead of calling realloc()
every time something is added.
2009-01-16 21:15:34 +00:00
dsl 74a68f7259 Debug print improvements. 2009-01-16 21:14:30 +00:00
dsl cd6806d831 Send output of Error() to debug_file (unless stderr/stdout). 2009-01-16 21:13:13 +00:00
dsl e9eac4d91e Parse_Error() really doesn't need to cruft up a dummy structure for curFile.
It only needs the 'fname' and 'lineno' fields - so just use NULL/0 when
curFile is NULL.
2009-01-16 20:50:24 +00:00
christos 52f56a8c21 Support amd unmounts, from Anon-Ymous. Not turned on yet because we need
to patch amd for this to work.
2009-01-16 17:31:22 +00:00
hira 796ac4ad75 Fix off-by-one. 2009-01-16 13:30:07 +00:00
uebayasi 547b81ca4c Better whitespace in ioconf.c output. 2009-01-16 09:43:41 +00:00
lukem c402ba6fb6 appease -Wsign-compare 2009-01-15 03:18:30 +00:00
dsl ac3b504aef Contrary to my previous thoughts, .for loop variable values do contain
variable references - eg ${.TARGET} since that can't be expanded earlier.
Also the variable gets re-expanded before modifiers are applied.
All this means that we do need to let :U expand variables and must not
just escape $.
2009-01-14 22:54:10 +00:00
christos a127d189ed style fixes and pass WARNS=4 and lint from Anon Ymous 2009-01-14 15:47:23 +00:00
dsl be588a30bc When substituting .for control variables (as ${:U...}) escape '$' and '\'
as well as ':' and '}' or ')'.
The parameters have just been expanded (and will be expanded again) later
so don't need expanding as part of the :U process.
Seems to fix pkgsrc breakage at line 34 of bsd.pkginstall.mk doing:
.for i in ${PKG_USERS}
_PKG_VARS.pkginstall+=  PKG_UID.${u} PKG_GECOS.${u} PKG_HOME.${u} PKG_SHELL.${u}
.endfor
when PKG_USERS = ${AVAHI_USER}:${AVAHI_GROUP}::Avahi\ user:/nonexistent
(set at line 41 of the ahavi Makefile)
I really dont think the above has the desired effect!
2009-01-13 18:30:00 +00:00
dsl 54d6432069 Sprinkle a const. (arg of Main_ParseArgLine()) 2009-01-13 18:22:34 +00:00
dholland dbfa1570e7 Fix blatantly wrong exposition of .WAIT example.
PR bin/40372 from Gao Ya'nan.
2009-01-12 09:28:10 +00:00
dsl 40aa52653a Instead of stashing the body of every iteration of a .for loop, pass
Parse_SetInput() the name of a function to get the loop data blocks.
This should only be a change to the program logic.
2009-01-11 15:50:06 +00:00
christos 2567980901 another bsd.own.mk missing 2009-01-11 05:01:34 +00:00
christos da0b5ebdeb need bsd.own.mk for $NETBSDSRCDIR 2009-01-11 03:50:50 +00:00
christos 379d921ced resolve conflict. 2009-01-11 03:05:41 +00:00
christos 50728e7823 merge christos-time_t 2009-01-11 02:57:17 +00:00
mrg 0d6aaaf295 pull across the struct netbsd32_exec definition and use that in all
cases, since we never did 64 bit a.out.  now ldd on 32 bit a.out
at least tries to work, but fails (on sparc or sparc64, no idea yet
for x86) the same way that all dynamic a.out binaries fail.
2009-01-11 00:06:55 +00:00
dsl b19182e92b When substituting .for control variables any } or ) that matches the
${ or $( must be \ escaped.
Should fix some pkgsrc issues - eg 'clean' in print/gv.
2009-01-10 16:59:02 +00:00
dsl aba4927178 Allow the user to save an unsigned int (eg the length or flags) with
each string.
2009-01-10 16:55:39 +00:00
dsl a4f183d445 Fix PR bin/1443 properly!
Ignore '=' and ' ' inside {} and () when looking for an assignment operator.
Also require the operator be immediately after any whitespace.
XXX mismatched (){} in variable modifiers will not DTRT.
2009-01-08 21:12:09 +00:00
mrg 32ae7959e8 make sure we set LIBISPRIVATE.
fixes build issues reported by moof.
2009-01-07 07:52:28 +00:00
mrg 9b688fed42 - rework this a bunch to make it work inside /rescue/ldd.
- fix alpha build.
2009-01-07 00:39:23 +00:00
mrg 648c936726 - get rid of building an a.out-happy ldd (but keep supporting a.out
binaries for the ELF version.)

- convert a.out, elf32 and elf64 support into convience libraries and
  link them right ones in.  if elf_ldd() fails on 64 bit platforms,
  try elf32_ldd() before aout_ldd().


now ldd on 64 bit platforms works for 32 bit binaries, aka PR#40199,
and it seems that all the issues from README are gone too.
2009-01-06 03:59:56 +00:00
tnozaki 2af58f1cce 1. reworking PR lib/40317:
libnbcompat already contains empty fparseln.lo
so previous fix doesn't work correctly.
i've just added broken fparseln check to configure script.

2. reworking cross build breakage under FreeBSD/MacOS X.
FreeBSD/MacOS X still have public /usr/include/runetype.h
derived from 4.4BSD-Lite.  so i renamed out private header from
src/lib/libc/locale/runetype.h to src/lib/libc/locale/runetype_local.h
to solve this problems.

3. fix build breakage when CITRUS=no was set.
2009-01-05 06:11:43 +00:00
dogcow b5d75fbc4d move nbtool_config.h include to the top. 2009-01-05 02:55:34 +00:00
dsl 2aeb32481a Count () and {} when looking to the '=' that terminates the variable being
assigned to.
Should fix:  A.${B:S/=//} = c
2009-01-04 20:17:36 +00:00
wiz f2ba098cec Describe better what it does. Inspired by the confusion caused by
FreeBSD problem report 69861.

From jmc@openbsd.

Bump date.
2009-01-04 17:26:24 +00:00
wiz 0ca945fa16 Sockets: Do not mention printing flags, because they are not printed.
From Stephan A. Rickauer via jmc@openbsd.

Bump date.
2009-01-04 17:19:39 +00:00
wiz 1ee045f360 Fix first part of PR 38987 by Robert Elz:
.Dq needs punctuation quoted to mark it up.

I leave 2) and 3) of that PR open for someone else...
2009-01-04 12:13:56 +00:00
tnozaki b17a9cee2a add some *.c specific CPPFLAGS. 2009-01-02 22:16:14 +00:00
tnozaki f5fad0d005 1. fixes PR lib/40317, don't use libc's fparseln(3).
it is non-portable function, toolchain should link it yourself.

2. fixes crossbuild breakage reported by Chiristoph Egger on current-user,
FreeBSD and MacOS X still make Rune* as public API in their ctype.h.
so added namespace protection NB* by including src/lib/libc/locale/rune.h
instead of src/lib/libc/locale/runetype.h.
2009-01-02 22:08:19 +00:00
njoly dc163d1a0e Add minimal SI_LWP support. 2009-01-02 13:57:23 +00:00
lukem 0a0b8d1a16 Clean up the usage display to match reality.
Allow 'sum' to take '-a algorithm', so that its usage matches 'cksum'.
Per discussion with Igor Sobrado resulting from PR 39658.
2009-01-02 09:42:51 +00:00
wiz 82b050bfbe Document new -t flag, bump date. 2009-01-02 00:37:40 +00:00
tnozaki 52ed7b035f Fixes PR lib/39662, shortcomings in LC_{MONETARY,NUMERIC,TIME,MESSAGES} db format.
ok'ed by core and releng.
(thanks for agc@, snj@ and i'm sorry for long time patience).

[libc]
- localeio.[ch] and lc*.[ch] in src/lib/libc/locale was replaced by
  new locale-db implementation using citrus_db backend,
  see src/lib/libc/citrus/citrus_lc_*.[ch].
- add citrus_bcs_strtou?l.c. don't use strtou?l locale implementation
  internally, because they're locale-aware function.
- add some stubs for multi-locale issue, see {current,global}_locale.c.
- remove some obsolete file, setrunelocale.c, ___runetype_mb.c.
- remove __savectype() from ctypeio.[ch].

[tools]
- mklocale(1): add new option ``-t'' that generates new style
  LC_{MONETARY,NUMERIC,TIME,MESSAGES} locale-db format.
- chrtbl(1): added ctypeio.[ch] for __savectype().

[locale-db]
- added en_US.US-ASCII locale.
- removed some shareable locale definition file:
    en_US.US-ASCII -> en_US.ISO8859-1, en_US.UTF-8
    zh_CN.eucCN -> zh_CN.GB18030
    and more...see src/share/locale/*/Makefile.
- remove obsoleted locale sr_YU, added new locale sr_ME, sr_RS.
- change locale name ja_JP.ISO2022-JP* -> ja_JP.ISO-2022-JP*
  for X11's locale.alias file alignments.
- fix regression test, wrong wcs?width(3), NAN/INF usage.

i tested release-build following arch:
  i386, amd64, hpc{mips,arm,sh}, sparc64, vax.

citrus_lc_*.[ch] also can read old-plain-text style locale-db.
so that backward compatibility is keeped, but lc*.[ch] can't read
new citrus_db'ed locale-db and localeio.c never check sanity,
so forward compatibility is broken ;-<

old mklocale(1) doesn't know -t option, so you have to rebuild toolchain.
2009-01-02 00:20:18 +00:00
christos 6469dc948c revert previous. it was meant for the branch. 2008-12-29 21:30:51 +00:00
christos 4266eb20ef fixes for version 2. 2008-12-29 16:05:01 +00:00
dsl aee1343f51 In the :M code, 'pattern' is always malloced memory - so unconditionally
free.
2008-12-29 10:18:38 +00:00
dsl 1fc20cc6eb Count both () and {} when looking for the end of a :M pattern.
In particular inside .if empty(...) it was only counting ().
In reality this needs further changes.
This may well fix recent pkgsrc breakage.
2008-12-29 10:12:30 +00:00
christos c20a3600e6 64 bit time_t 2008-12-29 01:53:35 +00:00
christos e12ce13bc6 cast for tdev. 2008-12-29 01:48:19 +00:00
christos b0b728dd70 handle 64 bit time_t/dev_t 2008-12-29 01:40:59 +00:00
christos 0b379a7b85 64 bit time_t 2008-12-29 01:35:09 +00:00
christos 72b21d3647 fix for 64 bit time_t 2008-12-29 01:33:03 +00:00
christos 99db46311e fix time_t printf format. 2008-12-29 01:26:46 +00:00
christos 7d9f37ceba fix time format. 2008-12-29 01:25:04 +00:00
christos 4fe86cf5b0 64 bit dev_t 2008-12-29 00:59:08 +00:00
christos 8663e57614 fix dev_t format 2008-12-29 00:53:43 +00:00
christos 8225aca082 fix 64 bit time_t 2008-12-29 00:51:29 +00:00
christos e00e628d41 handle 64 bit time_t 2008-12-29 00:50:06 +00:00
christos 0e48247bcf back out previous, and do it the better way. 2008-12-28 18:38:27 +00:00
christos 3ff2f379f6 In the "tool" case, pretend we don't have futimes because there is no visible
prototype for futimes without _NETBSD_SOURCE being defined. When we will do
a __RENAME() in futimes this will not work. XXX: This is a hack, better ideas
welcome.
2008-12-28 18:34:58 +00:00
christos 644d31b987 if mtime == 0, make it 1 because the code expects 0 time to mean that the
file does not exist
2008-12-28 18:32:54 +00:00
christos 266b18d880 prepare for time_t 64 2008-12-28 18:31:51 +00:00
christos 0001b92828 rename nv_int -> nv_num and make it long long, so that dev_t will fit when
we change it.
2008-12-28 01:23:46 +00:00
dsl e4be9d4f2c Treat '\\' as a possible terminator for a loop control variable.
(Typically an escaped \: of a nested modifier.)
2008-12-23 21:56:38 +00:00