Experience with 0.15.2

David Relson relson at osagesoftware.com
Sun Sep 7 23:50:58 CEST 2003


Stefan,

Your feedback is thorough and much appreciated.  Details follow:

On Sun, 07 Sep 2003 22:34:34 +0200
Stefan Bellon <sbellon at sbellon.de> wrote:

> Hi!
> 
> I've got a few things to note about 0.15.2:
> 
> 1) In src/datastore.c two casts have been introduced in the loops in
>    line 157 and line 213. I get the following errors:
> 
>       "c.datastore", line 157: Error: objects that have been cast are
>       not l-values
>       "c.datastore", line 213: Error: objects that have been cast are
>       not l-values

Attached is an alternate construct.  Let me know how well it works.
 
> 2) Matthias re-worked my QDBM code and replaced the Relic API with the
>    Depot API. First of all, this makes a few includes that are still
>    present in the code superfluous, but second and worse, it's a lot
>    slower as the Relic API does some optimization for you that you
>    have to do by your own if you use the Depot API. I have added those
>    things now. See attached patch for src/datastore_qdbm.c.

Which just shows the combined knowledge of two people is more than the
individual knowledge.  Your patch has been added to bogofilter and
committed to CVS.  I've also attached a copy of the file so you can
check my work.


> 3) And finally, I have a message that crashes the lexer of 0.15.2
>    whereas the lexers in the previous versions were able to cope with
>    it. The file in question is attached as well. Here's the stack
>    backtrace:
> 
>       *bogofilter -s < ram:crash
>        pc:    1c260 sp:   807fa4 post_signal()
>        pc:    3a474 sp:   806e60 __h_cback()
>        pc:    274c0 sp:   806e98 decode_text()
>        pc:    2d230 sp:   806ec0 lexer_v3_lex()
>        pc:     8644 sp:   806ee8 get_token()
>        pc:    2e14c sp:   806f14 collect_words()
>        pc:    3068c sp:   806f50 bogofilter()
>        pc:    301f8 sp:   806f78 main()
> 
> 
>       Termination signal received: Segmentation fault

Happens here too.  The relevant code has been rewritten so that
whitespace separated encoded tokens will be joined, i.e.
"=?charset?Q?ok?= =?charset?Q?ay?=" will be interpreted as "okay".  I'm
looking at the code and will have it fixed shortly.

David
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: patch.datastore.c.0907.txt
URL: <https://www.bogofilter.org/pipermail/bogofilter-dev/attachments/20030907/2696f786/attachment.txt>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: datastore_qdbm.c
Type: application/octet-stream
Size: 6757 bytes
Desc: not available
URL: <https://www.bogofilter.org/pipermail/bogofilter-dev/attachments/20030907/2696f786/attachment.obj>


More information about the bogofilter-dev mailing list