浏览代码

Use memrchr if available

master
Arun Prakash Jana 4 年前
父节点
当前提交
99d21531b4
找不到此签名对应的密钥 GPG 密钥 ID: A75979F35C080412
共有 1 个文件被更改,包括 8 次插入3 次删除
  1. +8
    -3
      src/nnn.c

+ 8
- 3
src/nnn.c 查看文件

@@ -926,7 +926,7 @@ static size_t xstrsncpy(char *restrict dst, const char *restrict src, size_t n)
return end - dst;
}

static inline size_t xstrlen(const char *s)
static inline size_t xstrlen(const char *restrict s)
{
#if !defined(__GLIBC__)
return strlen(s); // NOLINT
@@ -935,7 +935,7 @@ static inline size_t xstrlen(const char *s)
#endif
}

static char *xstrdup(const char *s)
static char *xstrdup(const char *restrict s)
{
size_t len = xstrlen(s) + 1;
char *ptr = malloc(len);
@@ -965,8 +965,12 @@ static bool is_suffix(const char *str, const char *suffix)
* And we are NOT expecting a '/' at the end.
* Ideally 0 < n <= xstrlen(s).
*/
static void *xmemrchr(uchar *s, uchar ch, size_t n)
static void *xmemrchr(uchar *restrict s, uchar ch, size_t n)
{
#if defined(__GLIBC__) || defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__)
return memrchr(s, ch, n);
#else

if (!s || !n)
return NULL;

@@ -978,6 +982,7 @@ static void *xmemrchr(uchar *s, uchar ch, size_t n)
while (s != ptr);

return NULL;
#endif
}

/* Assumes both the paths passed are directories */


正在加载...
取消
保存