- while (set != NULL)\r
- { if (bytes_identical(set->name, namelist_iter->name))\r
- { if (namelist_iter == setld->namelist_head)\r
- break;\r
- set = set->nextchild;\r
- namelist_iter = namelist_iter->nextsib;\r
- }\r
- else\r
- set = set->nextsib;\r
+ namelist_iter_last = NULL;\r
+ if (setld->namelist != NULL)\r
+ { while (set != NULL)\r
+ { if (bytes_identical(set->name, namelist_iter->name))\r
+ { if (namelist_iter == setld->namelist_head)\r
+ break;\r
+ set = set->nextchild;\r
+ namelist_iter_last = namelist_iter;\r
+ namelist_iter = namelist_iter->nextsib;\r
+ }\r
+ else\r
+ set = set->nextsib;\r
+ }\r
+ if (set == NULL)\r
+ { if (namelist_iter_last)\r
+ eprintf("No such subset \"%s\" of set \"%s\"\n",\r
+ namelist_iter->name,\r
+ namelist_iter_last->name);\r
+ else\r
+ eprintf("No such set \"%s\" in class \"%s\"\n",\r
+ namelist_iter->name,\r
+ class_iter->name);\r
+ }\r