uri: move hex2nibble() to util.h

This commit is contained in:
Daniel Eklöf 2022-01-02 18:28:10 +01:00
parent b8fc56ecb4
commit 1a91cbecc7
No known key found for this signature in database
GPG key ID: 5BBD4992C116573F
2 changed files with 24 additions and 23 deletions

25
uri.c
View file

@ -9,30 +9,9 @@
#define LOG_ENABLE_DBG 0
#include "log.h"
#include "debug.h"
#include "util.h"
#include "xmalloc.h"
enum {
HEX_DIGIT_INVALID = 16
};
static uint8_t
hex2nibble(char c)
{
switch (c) {
case '0': case '1': case '2': case '3': case '4':
case '5': case '6': case '7': case '8': case '9':
return c - '0';
case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':
return c - 'a' + 10;
case 'A': case 'B': case 'C': case 'D': case 'E': case 'F':
return c - 'A' + 10;
}
return HEX_DIGIT_INVALID;
}
bool
uri_parse(const char *uri, size_t len,
char **scheme, char **user, char **password, char **host,
@ -118,7 +97,7 @@ uri_parse(const char *uri, size_t len,
LOG_DBG("user: \"%.*s\"", (int)user_len, start);
}
start = user_pw_end + 1;
left = len - (start - uri);
auth_left -= user_pw_len + 1;