On Mon, Nov 29, 2010 at 2:03 AM, James Eder jimportal@gmail.com wrote:
On 11/26/10 12:15 AM, Damjan Jovanovic wrote:
On Fri, Nov 26, 2010 at 6:56 AM, Vitaliy Margolen <wine-devel at kievinfo.com> wrote:
On 11/24/2010 07:19 PM, James McKenzie wrote:
On 11/24/10 6:56 PM, Vitaliy Margolen wrote:
On 11/24/2010 12:23 PM, jimportal at gmail.com wrote:
From: James Eder<jimportal at gmail.com>
- while (fgets(line,200,f) != NULL)
- while (fgets(line,450,f) != NULL)
You might as well then change this to "sizeof(line)".
Just for my edification, is there not a better way then setting the variable line to a flexible length for this purpose.
Unless I didn't understand your question - you can't set a buffer to a "variable length". You have to provide fgets() a size of the buffer so it can read at most that many characters -1 for terminating \0.
Vitaliy.
So read lines dynamically instead:
It would be nice to not reinvent that wheel all the time. I don't suppose your function could be pulled out of winemenubuilder.c and placed in a more accessible location. Should I just copy and paste it? It's a good function and it would fit just fine in my opinion.
Alternatively, I doubt 2k or 4k worth of processor features ("flags") are going to show up for some years, but I don't know. At any rate, at least it would fix it for current systems.
-- Jim
That function is broken by the way, it doesn't preserve the file pointer across short reads by fgets, and it apparently doesn't even handle fgets short reads (which return an undocumented NULL).
Feel free to copy and paste it in a more accessible location once I send patches. There are also other variations of that function floating around in Wine.
Damjan