9bool INIGetRGB(
char *Key, 
byte *Red, 
byte *Green, 
byte *Blue, dword DefaultValue)
 
   13  char                  *i = NULL, *j = NULL, *k;
 
   24  strncpy(TempKey, Key, 
sizeof(TempKey) - 2);
 
   25  TempKey[
sizeof(TempKey) - 2] = 
'\0';
 
   31  if(!i || !j || (j < i + l)) x = DefaultValue;
 
   38    if((k = 
ParseLine(k, &plen, 
',')) && (plen > 0 && k + plen < j))
 
   40      x |= (strtoul(k, NULL, (plen > 2 && tolower(*(k + 1)) == 
'x' ? 16 : 10)) & 0x1f) << 10;
 
   44      if((k = 
ParseLine(k, &plen, 
',')) && (plen > 0 && k + plen < j))
 
   46        x |= (strtoul(k, NULL, (plen > 2 && tolower(*(k + 1)) == 
'x' ? 16 : 10)) & 0x1f) << 5;
 
   51        x |= strtoul(k, NULL, (j - k > 2 && tolower(*(k + 1)) == 
'x' ? 16 : 10)) & 0x1f;
 
   53      else x = DefaultValue;
 
   55    else x = DefaultValue;
 
   58  if(Red)   *Red   = 
R1555(x);
 
   59  if(Green) *Green = 
G1555(x);
 
   60  if(Blue)  *Blue  = 
B1555(x);
 
void INIFindStartEnd(char *, char **, char **, dword)
bool INIGetRGB(char *Key, byte *Red, byte *Green, byte *Blue, dword DefaultValue)
char * ParseLine(const char *zeile, size_t *n, char delim)