Age | Commit message (Collapse) | Author |
|
|
|
and keeping track of a length, we just advance the char *, and ditch
the length. We can still get the length at the end of the top-level
functions to satisfy existing interfaces.
Much simpler code, less error-prone.
Okay millert@
|
|
get_expanded_value.
Extend the code a bit to be much more thorough in case of a recursive
expansion: shows exactly the cycle of variable names involved.
okay millert@
|
|
length, simplifies code.
(warns a bit, symptom of some further issues to fix).
okay millert@
|
|
ok jmc@
|
|
(causes .for loops to give weird results very infrequently, memory handling
was slightly wrong, but not enough to break things thoroughly).
noticed by naddy@
|
|
Check the rtm_version before trying to print an entry. If the rtmsg has a
different version skip it and don't try to print it. Solves a SIGSEGV I have
triggered with one of my scarier diffs. OK henning@
|
|
stays defined.
|
|
|
|
- rename a few functions in var.c to names that make more sense.
- introduce Var_Deletei because it makes more sense.
- rewrite .for loops to use a local LoopVar construct to avoid looking up more
stuff.
- reformat var.c to near K&R
- rewrite most comments in var.c
shown to a few people. millert@ gave me his okay since it passes through
ports correctly.
|
|
|
|
- document the difference between "play" and "cdplay" more clearly
ok mjc
|
|
> xcalloc is unneeded here since i is always 0 and we always use the
> memory after initializing it.
>
> Initial diff from Igor Zinovik.
>
> OK niallo and xsa.
|
|
memory after initializing it.
Initial diff from Igor Zinovik.
OK niallo and xsa.
|
|
|
|
|
|
|
|
Input and OK ray@.
|
|
OK joris@.
|
|
|
|
from Tobias Stoeckmann
|
|
|
|
via henning@ with a twist by me
|
|
Matches GNU's behaviour. OK joris@.
|
|
input sources. Feedback and fixes from ray@ and fgsch@.
ok millert@ (six years ago) ray@ fgsch@
|
|
Matches GNU's behaviour. OK ray@.
|
|
OK markus@ and dtucker@.
|
|
|
|
When writing data into a buffer in the file_printf() function, the
length of the unused portion of the buffer is not correctly tracked,
resulting in a buffer overflow when processing certain files.
Adapted from FreeBSD's SA-07:04.file fix, with ok and some minor
tweaks from canacar@ and ray@.
|
|
|
|
|
|
|
|
|
|
and do for loops for real.
|
|
and matthieu@
This all revolves around putting ALL global variables into one single big
hash, and using flags. This removes some impossible to understand stuff,
like old varfind, and allows for some nice stuff.
- each time we reference a global variable, we create it, possibly as a dummy
variable.
- each time we go to the environment, we remember it, thus we no longer go
back to it.
Lists of dependant changes:
- isolate changes to oldVars and checkEnvFirst.
- remove VAR_CMD and VAR_GLOBAL contexts. The only distinction is in parsevar.
Split Parse_DoVar into Parse_DoVar and Parse_CmdlineVar
- rework var modules around obtain_global_var, observe flags in various
functions like Var_Value and Var_Seti.
- Var_Seti/Var_Appendi are almost the same code, use that internally.
- add magic to handle the very special SHELL variable.
- introduce Var_Definedi for the cases where we don't want the actual
value, to simplify tests.
- add keyword .poison, parse it and set global flags accordingly.
- do poison_checks where needed.
- document poison.
- in for loops, set variable temporarily, so that Var_SubstVar will also
substitute it in varmodifiers expressions.
|
|
no binary change
ok millert@
|
|
help/feedback from nick, krw, miod, todd, and deraadt
millert ok'd an earlier version of this diff
|
|
|
|
|
|
Previously, files in the 'Attic/' were linked into our filelist as being
'Attic/filename,v' this caused unneeded stress on certain functions
like cvs_file_classify() who had to do pointer voodoo to split out
the 'Attic/' part and do other very weird stuff to normalize the pathname
of these files.
Instead, we handle these files early in the start when we
build the fileslist in cvs_repository_getdir(). When encountering
the 'Attic/' directory, we recurse in it if required but instead of
using the 'Attic/' directory component as our base directory we stick
with the directory name where 'Attic/' resides in, resulting in the
correct filename while maintaining the correct RCSpath for the file.
This made the following things a lot easier:
(and in most cases actually fixed the below points)
- status with files in Attic/.
- checking out HEAD repositories with files in Attic/.
- checking out repositories with -rTAG.
- updating with -rTAG.
and as an added bonus the following now also works:
- correctly creating CVS/Tag in both local and remote mode thus
allowing update/status/and more to work correctly with the tagged tree.
(thanks to the correct handling of -rTAG cases).
- resetting tags with opencvs -A properly works too now.
This is a major step forward into the usability
of OpenCVS when it comes to maintaining multiple tagged trees, the next
logical step would be to fix commiting to branches.
enjoy you -stable cowards.
tested by myself, xsa, niallo and ckuethe
thanks guys!
|
|
OK joris@.
|
|
OK joris@
|
|
|
|
Simplifies further size tweaks if needed.
OK ray@.
|
|
|
|
|
|
OK joris and xsa.
|
|
Simplifies further size tweaks if needed.
OK niallo@ ray@.
|
|
the files based upon their entry in CVS/Entries instead of
using the local classifying code and trying to locate the RCSfile
on our local disks, which ofc does not work correctly.
OK niallo@
|
|
symbols from the table. This fixes the netstat issues some people reported.
OK henning@
|