Hi April,

Viktor Szakáts wrote:
..turns out it's not that easy, so I'm rather waiting :)

IIRC from my quick scan of source and contrib I could not see where any program used this, but I am probably mistaken.

This can be a problem everywhere where there is
no HB_IS*() call before reading value with hb_par*()
call. Worsened by the undefined nature of va_arg()
when index parameter wasn't passed (which is
99.9% of cases by my guesstimation).

There is also the problem that hb_parc() can return
empty string instead of NULL when an array is passed
and there is no HB_IS*() check. It's a small bug in
that function.

I expect many places where this may cause
instabilities, and all this to support a legacy
feature used very very rarely.

We also miss 'const' modifiers from declarations,
but that's an additional problem.

Same goes to hb_stor*() calls.

When I used this feature it worked but at a terrible performance cost so I've reverted to a RYO file reader that parses on any one of three EOL markers.

I'll upload my hbextern sometime this weekend.
Because of the improved handling of EOL and a disconnect between RDD directories and the current hbextern, the output will have more entries than the current version.

That's good news.

I've been working with a local copy of hbextern and comparing the output of the two and with two exceptions the output matches 100%; the exceptions are: I write the flags controlling the program to the file header, and the current hbextern finds two entries it should not.

Sounds good also.

Brgds,
Viktor

_______________________________________________
Harbour mailing list
Harbour@harbour-project.org
http://lists.harbour-project.org/mailman/listinfo/harbour

Reply via email to