return BIT(0x6996, x & 0xf);
#else
__asm__( "movl %1, %%eax\n"
- "mov %%ax, %%cx\n"
- "shrl $0x10, %%eax\n"
- "xor %%ax, %%cx\n"
+ "mov %%ax, %%cx\n"
+ "shrl $0x10, %%eax\n"
+ "xor %%ax, %%cx\n"
"xor %%ch, %%cl\n"
"setpo %%al\n"
"movzx %%al, %0\n": "=r"(x) : "r"(x): "eax","ecx");
f |= 0x3c8b0 >> (x >> 8 & 0xf) & 4;
f |= 0x1e458 >> (x >> 12 & 0xf) & 2;
f |= 0x0d938 >> (x >> 16 & 0xf) & 1;
- return BIT(0xEC57E80A, f);
+ return BIT(0xEC57E80A, 0xf);
}
#ifdef __cplusplus
}
uint8_t cmdp = 0;
char id[11];
int stringlen = 0;
+ memset(id, 0x00, sizeof(id));
+
while(param_getchar(Cmd, cmdp) != 0x00) {
switch(param_getchar(Cmd, cmdp)) {
case 'h':
if(errors) return -1;
if (!hex) {
- for (int index =0; index < strlen(id); ++index) {
-
- // Get value from number string.
- if ( id[index] == '*' ) val = 10;
- if ( id[index] == '#') val = 11;
- if ( id[index] >= 0x30 && id[index] <= 0x39 )
- val = id[index] - 0x30;
-
- *fullcode += val;
+ for (int index =0; index < strlen(id); ++index) {
- // last digit is only added, not multipled.
- if ( index < strlen(id)-1 )
- *fullcode *= 12;
+ // Get value from number string.
+ if ( id[index] == '*' ) val = 10;
+ if ( id[index] == '#') val = 11;
+ if ( id[index] >= 0x30 && id[index] <= 0x39 )
+ val = id[index] - 0x30;
+
+ *fullcode += val;
+
+ // last digit is only added, not multipled.
+ if ( index < strlen(id)-1 )
+ *fullcode *= 12;
}
}