char *vmprintf(const char *zFormat,va_list ap){
char *vmprintf(const char *zFormat,pthread_va_list ap){
char *vmprintf(const char *zFormat,va_list ap){  struct sgMprintf sMprintf;  char zBuf[200];  sMprintf.nChar = 0;  sMprintf.zText = zBuf;  sMprintf.nAlloc = sizeof(zBuf);  sMprintf.zBase = zBuf;  vxprintf(mout,&sMprintf,zFormat,ap);  if( sMprintf.zText==sMprintf.zBase ){    sMprintf.zText = malloc( strlen(zBuf)+1 );    if( sMprintf.zText ) strcpy(sMprintf.zText,zBuf);  }else{    sMprintf.zText = realloc(sMprintf.zText,sMprintf.nChar+1);  }  return sMprintf.zText;}