+inline unsigned int decode_hex(char *Source)
+{
+ int ret = 0;
+ if (*Source < 'A') {
+ ret += (*Source - '0');
+ }
+ else {
+ ret += (*Source - 'A' + 10);
+ }
+ ret = ret << 4;
+ if (*(Source + 1) < 'A') {
+ ret += (*(Source + 1) - '0');
+ }
+ else {
+ ret += (*(Source + 1) - 'A' + 10);
+ }
+ if (ret > 255)
+ return 0;
+ return ret;
+}