=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/mandoc/mansearch.c,v retrieving revision 1.22 retrieving revision 1.23 diff -c -r1.22 -r1.23 *** src/usr.bin/mandoc/mansearch.c 2014/04/16 21:35:48 1.22 --- src/usr.bin/mandoc/mansearch.c 2014/04/17 19:19:54 1.23 *************** *** 1,4 **** ! /* $Id: mansearch.c,v 1.22 2014/04/16 21:35:48 schwarze Exp $ */ /* * Copyright (c) 2012 Kristaps Dzonsons * Copyright (c) 2013, 2014 Ingo Schwarze --- 1,4 ---- ! /* $Id: mansearch.c,v 1.23 2014/04/17 19:19:54 schwarze Exp $ */ /* * Copyright (c) 2012 Kristaps Dzonsons * Copyright (c) 2013, 2014 Ingo Schwarze *************** *** 582,588 **** first = cur = NULL; logic = igncase = toclose = 0; ! toopen = 1; for (i = 0; i < argc; i++) { if (0 == strcmp("(", argv[i])) { --- 582,588 ---- first = cur = NULL; logic = igncase = toclose = 0; ! toopen = NULL != search->sec || NULL != search->arch; for (i = 0; i < argc; i++) { if (0 == strcmp("(", argv[i])) { *************** *** 651,659 **** if (toopen || logic || igncase || toclose) goto fail; ! cur->close++; ! cur = exprspec(cur, TYPE_arch, search->arch, "^(%s|any)$"); ! exprspec(cur, TYPE_sec, search->sec, "^%s$"); return(first); --- 651,662 ---- if (toopen || logic || igncase || toclose) goto fail; ! if (NULL != search->sec || NULL != search->arch) ! cur->close++; ! if (NULL != search->arch) ! cur = exprspec(cur, TYPE_arch, search->arch, "^(%s|any)$"); ! if (NULL != search->sec) ! exprspec(cur, TYPE_sec, search->sec, "^%s$"); return(first); *************** *** 670,678 **** char errbuf[BUFSIZ]; char *cp; int irc; - - if (NULL == value) - return(cur); mandoc_asprintf(&cp, format, value); cur->next = mandoc_calloc(1, sizeof(struct expr)); --- 673,678 ----