+ zint filter_sysno = key_in.mem[1];
+ zint section_id = key_in.mem[2];
+
+ struct sort_add_ent **e = &sort_ent_list;
+ for (; *e; e = &(*e)->next)
+ if ((*e)->ord == ord && section_id == (*e)->section_id)
+ break;
+ if (!*e)
+ {
+ *e = nmem_malloc(nmem, sizeof(**e));
+ (*e)->next = 0;
+ (*e)->wrbuf = wrbuf_alloc();
+ (*e)->ord = ord;
+ (*e)->cmd = cmd;
+ (*e)->sysno = filter_sysno ? filter_sysno : sysno;
+ (*e)->section_id = section_id;
+ }