Non portable code

Jonas Benjaminsson jonas.benjaminsson at infogate.se
Wed Oct 2 16:04:39 EDT 2002


Hi all

I'm porting FreeTDS to Windows and it's going well.

(Brian or James: How should I commit the changes
I make, by sending you the diffs or by accessing
the CVS directly?)

But...

When I find code like the one below I shiver.

Ok, it's an easy aproach but will never compile
on a non Unix system. And what about the speed?

Well, just wanted to share my thoughts.


/Jonas Benjaminsson




The code was found in asprintf.c

 FILE *fp;
  int len;
  char *buf;

  *ret = NULL;
  if ((fp = fopen("/dev/null", "w")) == NULL)
    return -1;
  len = vfprintf(fp, fmt, ap);
  if (fclose(fp) != 0)
    return -1;
  if (len < 0)
    return len;
  if ((buf = malloc(len + 1)) == NULL)
    return -1;
  vsprintf(buf, fmt, ap);
  *ret = buf;
  return len;








More information about the FreeTDS mailing list