--- rxvt-unicode/src/rxvttoolkit.C 2006/01/31 16:19:16 1.40 +++ rxvt-unicode/src/rxvttoolkit.C 2006/01/31 16:43:55 1.41 @@ -639,16 +639,9 @@ char eos; int skip; - if (1 <= sscanf (name, "[%hx]%n", &c.a, &skip)) + if (1 <= sscanf (name, "[%hd]%n", &c.a, &skip)) { - switch (skip) - { - case 2 + 1: c.a *= rxvt_rgba::MAX_CC / 0x000f; break; - case 2 + 2: c.a *= rxvt_rgba::MAX_CC / 0x00ff; break; - case 2 + 3: c.a *= rxvt_rgba::MAX_CC / 0x0fff; break; - case 2 + 4: c.a *= rxvt_rgba::MAX_CC / 0xffff; break; - } - + c.a = lerp (0, rxvt_rgba::MAX_CC, c.a); name += skip; } else