Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: appendhistory and history file truncation



On Sat Oct 21 09:58:32 1995, Danek Duvall wrote about ``appendhistory and history file truncation'':
> 
> I haven't seen this show up on the list, so I thought I'd chime in.
> 
> I'm having a problem wherein whenever I start up an invocation of zsh
> (2.6 beta10), my history file gets wiped.  It doesn't happen when
> NO_RCS is set (if I do zsh -f).  It seems that even though
> APPENDHISTORY is set, savehistfile() ends up opening the file mode
> O_TRUNC on line 1471 of hist.c (at least, I think this is the
> culprit).  Perhaps this line should be rewritten as the block in lines
> 1420-1423.
> 
> I checked beta11-test10, and it hasn't been fixed.
> 
> Here's a really straightforward patch to beta10, which *should* fix
> the problem, though I haven't tested it.  Rewrite as you wish, but I
> think this is the right thing to do.
> 
> Thanks,
> Danek
> 
> --- hist.c.orig	Sat Oct 21 03:54:08 1995
> +++ hist.c	Sat Oct 21 03:56:30 1995
> @@ -1468,7 +1468,11 @@
>  		histnum++;
>  	    }
>  	    fclose(out);
> -	    if ((out = fdopen(open(s, O_WRONLY | O_TRUNC, 0600), "w"))) {
> +	    if (app & 1)
> +		out = fdopen(open(s, O_CREAT | O_WRONLY | O_APPEND, 0600), "a");
> +	    else
> +		out = fdopen(open(s, O_CREAT | O_WRONLY | O_TRUNC, 0600), "w");
> +	    if (out) {
>  		if (histnum < savehist)
>  		    for (i = 0; i < histnum; i++)
>  			fprintf(out, "%s", store[i]);
> 
> -- 
> Danek Duvall <duvall@xxxxxxxxxxxxxxxxxxxx>    For my PGP key, send mail with
> Computer Science, Princeton University        subject "get pgp key" or look
> http://lorien.princeton.edu/~duvall/          it up on the keyservers.
> 
> 
> 
As far as I have been able to verify, this works for non-login shells. However,
if I log out and then login again, the problem persists even after applying the
patch.

-- 
Dr. Zvi Har'El <rl@xxxxxxxxxxxxxxxxxxx>              Department of Mathematics
+972-4-294094(Phone)                 Technion - Israel Institute of Technology
+972-4-324654(FAX)     http://gauss.technion.ac.il/~rl     Haifa 32000, ISRAEL
``If you can't say somethin' nice, don't say nothin' at all.''--Thumper (1942)



Messages sorted by: Reverse Date, Date, Thread, Author