uint8_t* bytep;\r
size_t bytes;\r
char setpass;\r
+ uint8_t delimiter;\r
assert_link(link);\r
if (link->link.dlink != NULL)\r
return link->link.dlink;\r
count_bytes_in_namelist:\r
while (namelist_iter != NULL)\r
{ bytep = namelist_iter->name;\r
- while (*bytep++)\r
- bytes++;\r
+ while (*bytep++);\r
+ bytes += (bytep - namelist_iter->name);\r
namelist_iter = namelist_iter->nextsib;\r
}\r
if (setpass == 0)\r
link->link.dlink[bytes++] = '.'; //dlinks start with '.'\r
namelist_iter = classld->namelist;\r
setpass = 0;\r
+ delimiter = '-'; //class delimiter\r
copy_bytes_in_namelist:\r
while (namelist_iter != NULL)\r
{ bytep = namelist_iter->name;\r
while (*bytep)\r
link->link.dlink[bytes++] = *bytep++;\r
+ link->link.dlink[bytes++] = delimiter;\r
namelist_iter = namelist_iter->nextsib;\r
}\r
if (setpass == 0)\r
{ setpass = 1;\r
namelist_iter = setld->namelist;\r
+ delimiter = '_'; //set delimiter\r
goto copy_bytes_in_namelist;\r
}\r
link->link.dlink[bytes] = '\0'; //tailing '\0' null termination\r