From: Carsten S. <ca...@co...> - 2011-01-15 12:55:18
|
Am 29.10.10 06:55, schrieb Steve Vinoski: > On Fri, Oct 29, 2010 at 12:38 AM, Steve Vinoski <vi...@ie...> wrote: >> On Thu, Oct 28, 2010 at 8:18 PM, Steve Vinoski <vi...@ie...> wrote: >>> On Thu, Oct 28, 2010 at 7:10 PM, Michael Foley <mic...@tr...> wrote: >>>> I am trying to send the contents of a file using the {content, MimeType, >>>> Content} return value. I am having the problem that it is adding an extra >>>> byte to the end of the data. The extra byte is hex 0A, which is a linefeed >>>> character. Anyone else encounter this? >>> >>> I don't see it with the latest bits from github. >> >> Correction -- I do see the same problem. I wrote my attempt using a >> regular out/1 function and compiled it into a beam file, whereas >> Michael, you're using a .yaws file, which dawned on me when you sent >> me your code offline. I'm currently debugging where the extra data is >> coming from and will hopefully have it fixed shortly. > > OK, what's occurring is that since this is a .yaws file, the contents > of that file are delivered, minus the stuff between <erl>...</erl> > tags. In your case, your out/1 function first accumulates content to > be delivered via the {content, ...} construct, but when Yaws strips > the erl tags out of your .yaws file, it finds a "\n" at the end of the > file, following the </erl> tag, so that's added to the content to be > delivered as well. At least in my modified version version of 1.49 this is taken care of and this kind of white space is deleted. The code revolves around a function optimize_spec/2. I am not sure if I never contributed the code or of it got lost in the meantime, I suspect the latter. I probably should have documented it better to point out why it is desirable. Best Carsten -- Carsten Schultz (2:38, 33:47) http://carsten.codimi.de/ PGP/GPG key on the pgp.net key servers, fingerprint on my home page. |