id	summary	reporter	owner	description	type	status	priority	milestone	component	resolution	keywords	cc	planetversion	pltversion
198	file position doesn't get updated correctly for string type	steve.erhart@…	williams	"{{{
> (define test (open-input-file ""testing.mp3""))
> (file-position test (- (file-size ""testing.mp3"") 128))
(read-packed ""3s30s30s30s4s28sBBB"" test)
(""TAG""
 ""AGSeeing the Dark\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000""
 ""GSeeing the Dark\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000""
 ""Seeing the Dark\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000""
 ""eein""
 ""eing the Dark\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000""
 105
 110
 103)
}}}

I browsed through your code and I think I found the culprit at line 403.  Changing
{{{
(set! offset (+ offset size)))
}}} 
to 
{{{
(set! offset (+ offset count)))
}}} 
seemes to do the trick. 

{{{
(read-packed ""3s30s30s30s4s28sBBB"" test)
(""TAG""
 ""Seeing the Dark\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000""
 ""Zoroaster\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000""
 ""Voice of Saturn\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000""
 ""2009""
 ""BLAH BLAH BLAH BLAH BLAH BLA""
 0
 1
 9)
}}}
"	defect	closed	major		williams/packed-binary.plt				(1 1)	4.2.1
