X-Git-Url: https://www.kengrimes.com/gitweb/?p=henge%2Fapc.git;a=blobdiff_plain;f=src%2Fir.c;h=bdf0d36e23468ad00a5f264aef40abea4d299380;hp=0bdba39315462fbbbd12e49e40b249775b3c6407;hb=f4410cd4b87c75bb112264cf38951461065b7ef9;hpb=e92cf135e461e07d723762aa4efb4bf7a0a17589 diff --git a/src/ir.c b/src/ir.c index 0bdba39..bdf0d36 100644 --- a/src/ir.c +++ b/src/ir.c @@ -748,6 +748,8 @@ ir_linkdata_dlink_name size_t bytes; char setpass; uint8_t delimiter; + static const uint8_t dlink_prefix[] = { '/', '.', '.', '/' }; +# define dlink_prefix_len 4 assert_link(link); if (link->link.dlink != NULL) return link->link.dlink; @@ -774,13 +776,13 @@ ir_linkdata_dlink_name namelist_iter = setld->namelist; goto count_bytes_in_namelist; } - bytes += 2; //trailing '\0' and preceding '.' + bytes += dlink_prefix_len; link->link.dlink = stack_alloc(&namepages, bytes); - bytes = 0; - link->link.dlink[bytes++] = '.'; //dlinks start with '.' + for (bytes = 0; bytes < dlink_prefix_len; bytes++) + link->link.dlink[bytes] = dlink_prefix[bytes]; namelist_iter = classld->namelist; setpass = 0; - delimiter = '-'; //class delimiter + delimiter = APC_CLASS_DELIMITER; copy_bytes_in_namelist: while (namelist_iter != NULL) { bytep = namelist_iter->name; @@ -792,7 +794,7 @@ ir_linkdata_dlink_name if (setpass == 0) { setpass = 1; namelist_iter = setld->namelist; - delimiter = '_'; //set delimiter + delimiter = APC_SET_DELIMITER; link->link.dlink[bytes - 1] = delimiter; //overwrite last delimiter goto copy_bytes_in_namelist; }