]> git.cameronkatri.com Git - bsdgames-darwin.git/blobdiff - quiz/quiz.c
de-__P().
[bsdgames-darwin.git] / quiz / quiz.c
index aec0ae788251f3a091bbd1f7d188f456499f5825..88f52a9b505696f2f302bf0d07514839092259a1 100644 (file)
@@ -1,4 +1,4 @@
-/*     $NetBSD: quiz.c,v 1.15 1999/09/12 09:02:22 jsm Exp $    */
+/*     $NetBSD: quiz.c,v 1.18 2000/05/08 07:56:05 mycroft Exp $        */
 
 /*-
  * Copyright (c) 1991, 1993
@@ -47,7 +47,7 @@ __COPYRIGHT("@(#) Copyright (c) 1991, 1993\n\
 #if 0
 static char sccsid[] = "@(#)quiz.c     8.3 (Berkeley) 5/4/95";
 #else
-__RCSID("$NetBSD: quiz.c,v 1.15 1999/09/12 09:02:22 jsm Exp $");
+__RCSID("$NetBSD: quiz.c,v 1.18 2000/05/08 07:56:05 mycroft Exp $");
 #endif
 #endif /* not lint */
 
@@ -89,7 +89,7 @@ main(argc, argv)
        const char *indexfile;
 
        /* Revoke setgid privileges */
-       setregid(getgid(), getgid());
+       setgid(getgid());
 
        indexfile = _PATH_QUIZIDX;
        while ((ch = getopt(argc, argv, "i:t")) != -1)
@@ -169,9 +169,16 @@ show_index()
        QE *qp;
        const char *p, *s;
        FILE *pf;
+       const char *pager;
 
-       if ((pf = popen(_PATH_PAGER, "w")) == NULL)
-               err(1, "%s", _PATH_PAGER);
+       if (!isatty(1))
+               pager = "cat";
+       else {
+               if (!(pager = getenv("PAGER")) || (*pager == 0))
+                       pager = _PATH_PAGER;
+       }
+       if ((pf = popen(pager, "w")) == NULL)
+               err(1, "%s", pager);
        (void)fprintf(pf, "Subjects:\n\n");
        for (qp = qlist.q_next; qp; qp = qp->q_next) {
                for (s = next_cat(qp->q_text); s; s = next_cat(s)) {
@@ -342,7 +349,7 @@ appdstr(s, tp, len)
 
        if ((m = malloc(strlen(s) + len + 1)) == NULL)
                errx(1, "malloc");
-       for (mp = m, sp = s; (*mp++ = *sp++) != NULL; )
+       for (mp = m, sp = s; (*mp++ = *sp++) != '\0'; )
                ;
        --mp;
        if (*(mp - 1) == '\\')