Hello,

See code below:

HB_FUNC( _2D_CURRENTCODEPAGE )
{
   const char * cdpID = hb_cdpID();
   PHB_CODEPAGE cdp   = hb_cdpFind(cdpID);
  
   MessageBox(NULL,cdp->lower,'test',MB_OK);

   hb_reta(4) ; 
   hb_storvc( cdp->lower, -1, 1 );
   hb_storvc( cdp->upper , -1, 2 );
   hb_storvc( cdpID      , -1, 3 );
   hb_storvc( cdp->info  , -1, 4 );
}

After requesting:

REQUEST HB_LANG_PT
REQUEST HB_CODEPAGE_PT850
hb_CDPselect("PT850")

We have noticed that the cdp structure loaded through hb_cdpSelect() does 
really select the wanted CDP because the cdpInfo and cdpID members return 
respectively "Portuguese CP850" and "PT850", but the lower and upper members 
return empty strings.

We have also debuged the cdp->lower and cdp->upper members and they are empty, 
so it is not a matter of hb_storvc usage.

Our guess is that this members are not being properly filled when the codepage 
is registered through hb_cdpRegister(), because all the functions that treat 
string cases are failing trating cases in the selected cdp. The final problem 
is that:  UPPER("ãõéíóaeiou") returns "ãõéíóAEIOU" not regarding to the 
selected cdp.

Can somebody check if we are missing something or if it is a harbour bug?

Thanks 

Best regards,
Leandro Damásio and Ted Dirickson - 2D Info 
_______________________________________________
Harbour mailing list (attachment size limit: 40KB)
Harbour@harbour-project.org
http://lists.harbour-project.org/mailman/listinfo/harbour

Reply via email to