Viktor,

This code in olecore.c (hb_oleVariantToItem()) fails if the string has
embedded zeroes, as hb_itemPutCPtr() uses strlen() to calculate the
string length.

      case VT_BSTR:
      {
         char* szString = WideToAnsi( pVariant->n1.n2.n3.bstrVal );
         hb_itemPutCPtr( pItem, szString );
         break;
      }

      case VT_BSTR | VT_BYREF:
      {
         char* szString = WideToAnsi( *pVariant->n1.n2.n3.pbstrVal );
         hb_itemPutCPtr( pItem, szString );
         break;
      }

We appreciate your comments, thanks

best regards,

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

Reply via email to