浏览代码

Refactor key-val pair parsing

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

+ 6
- 5
src/nnn.c 查看文件

@@ -3010,7 +3010,7 @@ static int xlink(char *prefix, char *path, char *curfname, char *buf, int *prese

static bool parsekvpair(kv **arr, char **envcpy, const uchar id, uchar *items)
{
bool next = TRUE;
bool new = TRUE;
const uchar INCR = 8;
uint i = 0;
kv *kvarr = NULL;
@@ -3028,7 +3028,7 @@ static bool parsekvpair(kv **arr, char **envcpy, const uchar id, uchar *items)
ptr = *envcpy;

while (*ptr && i < 100) {
if (next) {
if (new) {
if (!(i & (INCR - 1))) {
kvarr = xrealloc(kvarr, sizeof(kv) * (i + INCR));
*arr = kvarr;
@@ -3043,13 +3043,14 @@ static bool parsekvpair(kv **arr, char **envcpy, const uchar id, uchar *items)
return FALSE;
kvarr[i].off = ptr - *envcpy;
++i;

new = FALSE;
}

if (*ptr == ';') {
*ptr = '\0';
next = TRUE;
} else if (next)
next = FALSE;
new = TRUE;
}

++ptr;
}


正在加载...
取消
保存