mirror of
https://git.proxmox.com/git/efi-boot-shim
synced 2025-06-14 09:31:38 +00:00
66 lines
1.0 KiB
C
66 lines
1.0 KiB
C
#ifndef SHIM_STR_H
|
|
#define SHIM_STR_H
|
|
|
|
static inline
|
|
__attribute__((unused))
|
|
unsigned long strnlena(const CHAR8 *s, unsigned long n)
|
|
{
|
|
unsigned long i;
|
|
for (i = 0; i <= n; i++)
|
|
if (s[i] == '\0')
|
|
break;
|
|
return i;
|
|
}
|
|
|
|
static inline
|
|
__attribute__((unused))
|
|
CHAR8 *
|
|
strncpya(CHAR8 *dest, const CHAR8 *src, unsigned long n)
|
|
{
|
|
unsigned long i;
|
|
|
|
for (i = 0; i < n && src[i] != '\0'; i++)
|
|
dest[i] = src[i];
|
|
for (; i < n; i++)
|
|
dest[i] = '\0';
|
|
|
|
return dest;
|
|
}
|
|
|
|
static inline
|
|
__attribute__((unused))
|
|
CHAR8 *
|
|
strcata(CHAR8 *dest, const CHAR8 *src)
|
|
{
|
|
unsigned long dest_len = strlena(dest);
|
|
unsigned long i;
|
|
|
|
for (i = 0; src[i] != '\0'; i++)
|
|
dest[dest_len + i] = src[i];
|
|
dest[dest_len + i] = '\0';
|
|
|
|
return dest;
|
|
}
|
|
|
|
static inline
|
|
__attribute__((unused))
|
|
CHAR8 *
|
|
translate_slashes(char *str)
|
|
{
|
|
int i;
|
|
int j;
|
|
if (str == NULL)
|
|
return (CHAR8 *)str;
|
|
|
|
for (i = 0, j = 0; str[i] != '\0'; i++, j++) {
|
|
if (str[i] == '\\') {
|
|
str[j] = '/';
|
|
if (str[i+1] == '\\')
|
|
i++;
|
|
}
|
|
}
|
|
return (CHAR8 *)str;
|
|
}
|
|
|
|
#endif /* SHIM_STR_H */
|