[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[sup-talk] Bug reading/writing contacts with \" in them
Hi all,
I just found out about Sup yesterday, great stuff, thanks for that to all
involved with development!
I did run into a small bug yesterday though. I was able to analyze it a bit,
but my Ruby is not good enough to propose a solid fix.
The problem occurs when contacts have a certain combination of backslashes and
quotes in them. I 'imported' my mutt aliases with a simple script converting
the format (too bad it is *almost* the same but not quite), and one of the
contacts looked like this:
somename: \"Some, Name\" <somename@somedomain.com>
It seems there is a problem somewhere with parsing and writing out the backslashes, which
get escaped each time sup saves the contact list, doubling the number of backslashes each time.
somename: Some, Name\\ <somename@somedomain.com>
somename: Some, Name\\\\ <somename@somedomain.com>
somename: Some, Name\\\\\\\\ <somename@somedomain.com>
and so on.
I first got a hint something was wrong when I noticed that sup was starting up slower
and slower each time, and took over 10 minutes after a few tries. It seems that the regexp
at person.rb:79
when /(.+?) ((\S+?)@\S+) \3/
goes haywire backtracking through all the backslashes, I guess the first .+?
probably uses exponential time when trying to match the huge number of \'s
Anyway, I did some quick trials to find where exaclty the bug is, but I
couldn't come up with the proper fix right away. My problem has of course gone
away by just removing the backslashes from the contacts file, but I hope
somebody with more ruby-sense is willing to look into this one.
Thanks,
Ico
--
:wq
^X^Cy^K^X^C^C^C^C
_______________________________________________
sup-talk mailing list
sup-talk@rubyforge.org
http://rubyforge.org/mailman/listinfo/sup-talk