- if (length == 1 ) {
- return name;
- }
- if (length > 2 && length < 6) {
- if (name[0] != '-') {
- return 0;
- }
- length--;
- const char *ptr = name+1;
- int index = 0;
- for (index = 0; index < length/2; index++) {
- unsigned int value;
- char temp[3];
- strncpy(temp, ptr + 2*index, 2);
- sscanf(temp, "%02X", &value);
- tag_buffer[index] = (unsigned char) value;
- }
- tag_buffer[index] = '\0';
- if (index > 0)
- return tag_buffer;