Menu

CIccInfo::GetProfileID returns mangled id

2012-03-14
2015-09-09
  • Stephan Mühlstrasser

    Hi,

    I noticed that CIccInfo::GetProfileID returns an ICC v4 profile id that consists of 16 characters. This is generated by taking the high byte nibble from each of the 16 bytes that make up the actual id. Is it intentional that CIccInfo::GetProfileID returns a mangled id? I would expect that it returns a hex representation of the full 16 bytes of the id, therefore returning a hex string consisting of 32 bytes, something like this:

    const icChar *CIccInfo::GetProfileID(icProfileID *profileID)
    {
      icChar buf;
      icChar temp;

      for (int i=0; i<16; i++) {
        sprintf(temp, "%02x", profileID->ID8_);
        buf = temp;
        buf = temp;
      }

      sprintf(m_szStr,"%.32s",buf);
      return m_szStr;
    }

    Best Regards
    Stephan_

     
  • Kai-Uwe Behrmann

    platform specifics, like byte swapping are to be done by the user not by the icProfileID data

     

Log in to post a comment.