123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- #include <string.h>
- #include "string.h"
- static int hex(char ch)
- {
- if ((ch >= '0') && (ch <= '9'))
- return ch - '0';
- if ((ch >= 'a') && (ch <= 'f'))
- return ch - 'a' + 10;
- if ((ch >= 'A') && (ch <= 'F'))
- return ch - 'A' + 10;
- return -1;
- }
- /*
- * While we find nice hex chars, build a long_val.
- * Return number of chars processed.
- */
- int hex2u64(const char *ptr, u64 *long_val)
- {
- const char *p = ptr;
- *long_val = 0;
- while (*p) {
- const int hex_val = hex(*p);
- if (hex_val < 0)
- break;
- *long_val = (*long_val << 4) | hex_val;
- p++;
- }
- return p - ptr;
- }
- char *strxfrchar(char *s, char from, char to)
- {
- char *p = s;
- while ((p = strchr(p, from)) != NULL)
- *p++ = to;
- return s;
- }
|