(hex_decode): support decoding odd number of characters, in the odd
len case, the character ends up in the first byte in the lower nibble. git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@16504 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
		@@ -91,7 +91,13 @@ hex_decode(const char *str, void *data, size_t len)
 | 
				
			|||||||
    if ((l/2) + (l&1) > len)
 | 
					    if ((l/2) + (l&1) > len)
 | 
				
			||||||
	return -1;
 | 
						return -1;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    i = 0;
 | 
				
			||||||
 | 
					    if (l & 1) {
 | 
				
			||||||
 | 
						p[0] = pos(str[0]);
 | 
				
			||||||
 | 
						str++;
 | 
				
			||||||
 | 
						p++;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
    for (i = 0; i < l / 2; i++)
 | 
					    for (i = 0; i < l / 2; i++)
 | 
				
			||||||
	p[i] = pos(str[i * 2]) << 4 | pos(str[(i * 2) + 1]);
 | 
						p[i] = pos(str[i * 2]) << 4 | pos(str[(i * 2) + 1]);
 | 
				
			||||||
    return i;
 | 
					    return i + (l & 1);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user