#
0348eb56 |
| 05-Sep-2023 |
jsg <jsg@openbsd.org> |
unifdef HAS_INLINES inline is part of gnu89 and c99 ok kn@ espie@
|
#
a75cbf23 |
| 04-Mar-2021 |
espie <espie@openbsd.org> |
warn about proper usage of Lst_Destroy.
as noticed by jsg@
|
#
c78f5dc3 |
| 03-Jun-2020 |
espie <espie@openbsd.org> |
somehow, when I used more bool, I forgot to check with WARNINGS=Yes
no reason for those types to have different return types, all compilers are slightly unhappy with incompatible function pointers (
somehow, when I used more bool, I forgot to check with WARNINGS=Yes
no reason for those types to have different return types, all compilers are slightly unhappy with incompatible function pointers (again, obvious commit, no difference in generated code)
show more ...
|
#
91d3b248 |
| 14-Oct-2015 |
espie <espie@openbsd.org> |
gc lst_ForEachNodeWhile, which isn't actually in use anywhere
|
#
31cacaea |
| 14-Oct-2015 |
espie <espie@openbsd.org> |
make sure we use stdbool.h Mostly diff by Daniel Dickman, who told me to commit in his stead, as he's tied up at work.
|
#
bb4544df |
| 19-Jul-2010 |
espie <espie@openbsd.org> |
Correct $OpenBSD$ stuff
|
#
dba68890 |
| 19-Jul-2010 |
espie <espie@openbsd.org> |
two small changes: - allow variables in SysV modifiers, as requested by matthieu@ (since recursive variables are an extension, this just extends the extension) - variation on :Q called :QL (quote li
two small changes: - allow variables in SysV modifiers, as requested by matthieu@ (since recursive variables are an extension, this just extends the extension) - variation on :Q called :QL (quote list), which does quote every character EXCEPT for whitespace. e.g.,
toto: @for i in ${VAR:QL} ...
show more ...
|
#
f36ed577 |
| 12-Jan-2008 |
espie <espie@openbsd.org> |
better error reporting/job handling error: - systematically reorder jobs based on who did output last, so that the last job to output is *first* to output again. - better reaction to errors: any job
better error reporting/job handling error: - systematically reorder jobs based on who did output last, so that the last job to output is *first* to output again. - better reaction to errors: any job that outputs is checked for termination directly, and the Error message is printed right afterwards. - better error messages, giving more useful information in -j mode.
show more ...
|
#
008399ed |
| 04-Jan-2007 |
espie <espie@openbsd.org> |
having a function that iterates through node's datum so that we retrieve the list item with lst_member is non-sensical, create a new function (Lst_ForEachNodeWhile) that iterates through lstnodes dir
having a function that iterates through node's datum so that we retrieve the list item with lst_member is non-sensical, create a new function (Lst_ForEachNodeWhile) that iterates through lstnodes directly and use it.
Less obfuscated, slightly more efficient...
okay otto@
show more ...
|
#
f75387cb |
| 03-Jun-2003 |
millert <millert@openbsd.org> |
Remove the advertising clause in the UCB license which Berkeley rescinded 22 July 1999. Proofed by myself and Theo.
|
#
7b1297c6 |
| 11-Nov-2001 |
espie <espie@openbsd.org> |
Fixed version... don't see how this could work on i386, since it didn't initialize create in main.c.
|
#
f0ceea32 |
| 11-Nov-2001 |
deraadt <deraadt@openbsd.org> |
undo changes that crash on (at least) the alpha
|
#
062fa3d0 |
| 11-Nov-2001 |
espie <espie@openbsd.org> |
Redo LstInit as a macro: smaller and faster code in all cases, zeroing two pointers is simpler than calling a function. Recognize purely static lst headers, which don't really need any initialization
Redo LstInit as a macro: smaller and faster code in all cases, zeroing two pointers is simpler than calling a function. Recognize purely static lst headers, which don't really need any initialization. ok miod@
show more ...
|
#
9d9c3e66 |
| 29-May-2001 |
espie <espie@openbsd.org> |
Take includes out of lst.h, re-add what's needed to separate files. Removes remaining lint stuff from lst.lib.
|
#
f7923656 |
| 23-May-2001 |
espie <espie@openbsd.org> |
Mostly clean-up: - cut up those huge include files into separate interfaces for all modules. Put the interface documentation there, and not with the implementation. - light-weight includes for needed
Mostly clean-up: - cut up those huge include files into separate interfaces for all modules. Put the interface documentation there, and not with the implementation. - light-weight includes for needed concrete types (lst_t.h, timestamp_t.h). - cut out some more logically separate parts: cmd_exec, varname, parsevar, timestamp. - put all error handling functions together, so that we will be able to clean them up. - more systematic naming: functioni to handle interval, function to handle string. - put the init/end code apart to minimize coupling. - kill weird types like ReturnStatus and Boolean. Use standard bool (with a fallback for non-iso systems) - better interface documentation for lots of subsystems.
As a result, make compilation goes somewhat faster (5%, even considering the largish BSD copyrights to read). The corresponding preprocessed source goes down from 1,5M to 1M.
A few minor code changes as well: Parse_DoVar is no longer destructive. Parse_IsVar functionality is folded into Parse_DoVar (as it knows what an assignment is), a few more interval handling functions. Avoid calling XXX_End when they do nothing, just #define XXX_End to nothing.
Parse_DoVar is slightly more general: it will handle compound assignments as long as they make sense, e.g., VAR +!= cmd will work. As a side effect, VAR++=value now triggers an error (two + in assignment). - this stuff doesn't occur in portable Makefiles. - writing VAR++ = value or VAR+ +=value disambiguates it. - this is a good thing, it uncovered a bug in bsd.port.mk.
Tested by naddy@. Okayed millert@. I'll handle the fallback if there is any. This went through a full make build anyways, including isakmpd (without mickey's custom binutils, as he didn't see fit to share it with me).
show more ...
|
#
04ed836e |
| 03-May-2001 |
espie <espie@openbsd.org> |
Synch with my current work. Numerous changes: - generate can build several tables - style cleanup - statistics code - use variable names throughout (struct Name) - recursive variables everywhere - fa
Synch with my current work. Numerous changes: - generate can build several tables - style cleanup - statistics code - use variable names throughout (struct Name) - recursive variables everywhere - faster parser (pass buffer along instead of allocating multiple copies) - correct parser. Handles comments everywhere, and ; correctly - more string intervals - simplified dir.c, less recursion. - extended for loops - sinclude() - finished removing extra junk from Lst_* - handles ${@D} and friends in a simpler way - cleaned up and modular VarModifiers handling. - recognizes some gnu Makefile usages and errors out about them.
Additionally, some extra functionality is defined by FEATURES. The set of functionalities is currently hardcoded to OpenBSD defaults, but this may include support for some NetBSD extensions, like ODE modifiers.
Backed by miod@ and millert@, who finally got sick of my endless patches...
show more ...
|
#
761218d5 |
| 14-Sep-2000 |
espie <espie@openbsd.org> |
Some systematic clean-up. - UNUSED macro that expands to __attribute__((unused)) for gcc - move rcsid around so that they can be tagged UNUSED. - activate -Wunused. - use UNUSED instead of kludgy jun
Some systematic clean-up. - UNUSED macro that expands to __attribute__((unused)) for gcc - move rcsid around so that they can be tagged UNUSED. - activate -Wunused. - use UNUSED instead of kludgy junk for function arguments. - add extern to all extern prototypes. - update comments in lst.h. - clean up var.c a little bit, constifying arguments, updating comments...
show more ...
|
#
bd582a96 |
| 23-Jun-2000 |
espie <espie@openbsd.org> |
Trivial consequences of the previous list changes:
- audit code for Lst_Datum, it's never applied to an empty pointer, so check can be removed -> turn into a macro, - Lst_First, Lst_Last can become
Trivial consequences of the previous list changes:
- audit code for Lst_Datum, it's never applied to an empty pointer, so check can be removed -> turn into a macro, - Lst_First, Lst_Last can become macro as well - specialized version of Lst_Succ (Lst_Adv) to use in loops where it cannot fail, - Lst_Open can no longer fail. Trim down corresponding code.
Reviewed millert@, miod@
show more ...
|
#
8fa49313 |
| 17-Jun-2000 |
espie <espie@openbsd.org> |
This removes the few instances of Lst_New left. - replaces Lst_Duplicate with Lst_Clone, which does not allocate storage - split Lst_Concat into Lst_Concat/Lst_ConcatDestroy Thus, all the LstValid ch
This removes the few instances of Lst_New left. - replaces Lst_Duplicate with Lst_Clone, which does not allocate storage - split Lst_Concat into Lst_Concat/Lst_ConcatDestroy Thus, all the LstValid checks are gone, since we always invoke list functions with valid pointers.
Note that dynamic list allocation accounted for roughly 20% of all calls to malloc. The extraneous calls to malloc left are now mostly in parse.c, which makes some wasteful usage of temporary buffers.
With those few patches, the code is sturdier, and easier to maintain.
Reviewed by millert@
show more ...
|
#
34a5a16d |
| 17-Jun-2000 |
espie <espie@openbsd.org> |
This patch introduces a distinction between Lst_Init (constructor) and Lst_New (allocation + construction) Lst_Destroy (destructor) and Lst_Delete (deallocation + destruction), and uses that to turn
This patch introduces a distinction between Lst_Init (constructor) and Lst_New (allocation + construction) Lst_Destroy (destructor) and Lst_Delete (deallocation + destruction), and uses that to turn most dynamic allocation of lists (Lst pointers) into static structures (LIST).
Most of this is mundane, except for allGNs in targ.c, where the code must be checked to verify that Targ_Init is called soon enough.
Lst_New is a temporary addition. All lists will soon be static.
Reviewed by millert@, like the previous patch.
show more ...
|
#
18e775c1 |
| 17-Jun-2000 |
espie <espie@openbsd.org> |
This patch moves the definition of lists and list nodes to lst.h. C is not well-suited for opaque data structures.
Then it proceeds by removing a lot of non-sensical casts and white space.
There ar
This patch moves the definition of lists and list nodes to lst.h. C is not well-suited for opaque data structures.
Then it proceeds by removing a lot of non-sensical casts and white space.
There are two motivations behind this change: * small functions like Lst_First can now be redefined as macros safely (otherwise, the cast would mean that you might write Lst_First(5) and find out about it rather late) * the size of the Lst data structure is exposed to user code. This will be used to allocate lists statically, instead of malloc/free them like crazy.
show more ...
|
#
aa523a8e |
| 10-Jun-2000 |
espie <espie@openbsd.org> |
Clean-up patch: use `void *' instead of old-fashioned ClientData/Address.
|
#
f7d7ee7c |
| 10-Jun-2000 |
espie <espie@openbsd.org> |
Thus, Lst_ForEach no longer needs returning a status. In fact, it can become a macro based on Lst_ForEachFrom. This also introduces Lst_Every, as a shortcut for the very common case where Lst_ForEach
Thus, Lst_ForEach no longer needs returning a status. In fact, it can become a macro based on Lst_ForEachFrom. This also introduces Lst_Every, as a shortcut for the very common case where Lst_ForEach does not need any user data.
Finally, make consistent use of a few function typedefs, instead of having explicit void (*)(Lst) arguments all over the place.
show more ...
|
#
58bfa03f |
| 19-Dec-1999 |
espie <espie@openbsd.org> |
Rearrange Lst_Find interface to conform better with other functions.
|
#
6cbd4985 |
| 18-Dec-1999 |
espie <espie@openbsd.org> |
Nothing ever checks ReturnStatus on Lst_Insert, Lst_Append, Lst_AtFront, Lst_AtEnd, Lst_Concat, Lst_Remove, Lst_Replace.
Don't bother returning one.
|