Forums before death by AOL, social media and spammers... "We can't have nice things"
|    comp.os.vms    |    DEC's VAX* line of computers & VMS.    |    264,096 messages    |
[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]
|    Message 262,715 of 264,096    |
|    Craig A. Berry to All    |
|    Re: FreeTDS port to VMS V9.x on x86?    |
|    24 Jun 25 06:51:33    |
      From: craigberry@nospam.mac.com              On 6/23/25 9:35 PM, Arne Vajhøj wrote:       > On 6/23/2025 10:16 PM, Arne Vajhøj wrote:       >> On 6/23/2025 9:49 PM, Craig A. Berry wrote:       >>> This one looks pretty simple and depends only on vsnprintf, which has       >>> been in VMS since 7.3-2, so it was probably in some ancient standard,       >>> though I haven't looked yet:       >>>       >>> https://github.com/jkaivo/asprintf/blob/asprintf/asprintf.h       >>>       >>> It's MIT which I think can be included in a GPL project like FreeTDS. I       >>> will try to remember to look at this when I get some other things sorted       >>> out.       >>       >> It could definitely be used.       >>       >> But why not just steal the trick from it instead of the whole code?       >>       >> The trick they use is va_copy.       >>       >> I think tds_vasprintf could use va_copy to solve the problem as well!       >       > On the other side, then ditching existing code and taking this       > would also switch form vfprintf to vsnprintf for length       > determination, which Lawrence is correct would be       > better.              It turns out tds_vasprtintf already uses vsnprintf if HAVE_VSNPRINTF is       defined and only falls back to the /dev/null hack if not:              https://github.com/FreeTDS/freetds/blob/master/src/replacements/vasprintf.c              So my next change to FreeTDS will look something like this:              --- vms/config_h.vms;-0 Tue Sep 26 09:23:25 2023       +++ vms/config_h.vms Tue Jun 24 05:23:20 2025       @@ -237,7 +237,9 @@        #define HAVE_SNPRINTF @D_SNPRINTF@               /* Define to 1 if you have the `vsnprintf' function. */       -#define HAVE_VSNPRINTF 0       +#if __CRTL_VER >= 70302000       +#define HAVE_VSNPRINTF 1       +#endif               /* Define as const if the declaration of iconv() needs const. */        #if HAVE_ICONV       [end_of_patch]              That should cover everybody with a VMS system from recent decades.              --- SoupGate-Win32 v1.05        * Origin: you cannot sedate... all the things you hate (1:229/2)    |
[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]
(c) 1994, bbs@darkrealms.ca