[freetds] FreeTDS dbwillconvert discrepancy
Joe Losco
joe at sqpuv.com
Wed Nov 26 13:01:05 EST 2008
Wow that very much did not retain its formatting.. I apologize for the
broken text.
Joe L
Joe Losco wrote:
> Hello all,
> I'm in the process of writing an application for OS X using FreeTDS
> and objective c. I have come to a point however, that I am pretty
> confused. My application at this point is still using the sample
> provided with FreeTDS as in
> http://www.freetds.org/userguide/samplecode.htm but I am beginning to
> convert it to be part of a GUI application in Cocoa.
> I first used the sample to make sure that I can use it as shown, and
> with a specific query. The sample as shown works completely. I took
> the same code and with minor modifications put it into the GUI app and
> it does not work. Now to give some more detailed information.
> My problem that I've narrowed it down to is with this stub of code
> if (SYBCHAR != pcol->type) { pcol->size =
> dbwillconvert(pcol->type, SYBCHAR);
> }
>
> I've placed "printf("name:%s type:%d size:%d\n", pcol->name,
> pcol->type, pcol->size);" around this piece of code so that I can see
> the before and after effects. In the command line pure C application
> dbwillconvert returns the size of the would be data converted to the
> correct type. This then lets the memory be allocated properly in the
> later calloc that uses pcol->size+1, as well as everything else to
> work as intended.
> However, in the Objective C/GUI version it appears to return a Bool.
> It seems to return 1 if it is convertable and 0 if it is not. This
> obviously messes up the rest of the allocations in the sample
> resulting in truncation and overflow errors. I then looked into this
> farther and found http://www.freetds.org/reference/a00275.html#ga24
> which from what I can tell is that the desired effect of that function
> is to return the bool.
> I'm not sure where to go to look for any more information. Any advice
> is greatly appreciated.
>
More information about the FreeTDS
mailing list