summaryrefslogtreecommitdiffstats
path: root/quiz
diff options
context:
space:
mode:
authorcgd <cgd@NetBSD.org>1995-04-22 09:59:01 +0000
committercgd <cgd@NetBSD.org>1995-04-22 09:59:01 +0000
commit5c07a4c2750120f7b7aeab4c4acfb0ff578c9827 (patch)
treeaea66b27f231220d4ee70267e2e8132f6ad0ccc4 /quiz
parent416d932935b8a3171ac05bfa2c147bcef759d6f3 (diff)
downloadbsdgames-darwin-5c07a4c2750120f7b7aeab4c4acfb0ff578c9827.tar.gz
bsdgames-darwin-5c07a4c2750120f7b7aeab4c4acfb0ff578c9827.tar.zst
bsdgames-darwin-5c07a4c2750120f7b7aeab4c4acfb0ff578c9827.zip
fix bugs previously fixed. whee.
Diffstat (limited to 'quiz')
-rw-r--r--quiz/quiz.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/quiz/quiz.c b/quiz/quiz.c
index 00fff817..1d0b1d85 100644
--- a/quiz/quiz.c
+++ b/quiz/quiz.c
@@ -130,13 +130,13 @@ get_file(file)
qp = &qlist;
qsize = 0;
while ((lp = fgetln(fp, &len)) != NULL) {
+ lp[--len] = '\0';
if (qp->q_text && qp->q_text[strlen(qp->q_text) - 1] == '\\')
qp->q_text = appdstr(qp->q_text, lp, len);
else {
if ((qp->q_next = malloc(sizeof(QE))) == NULL)
err(1, NULL);
qp = qp->q_next;
- lp[len - 1] = '\0';
if ((qp->q_text = strdup(lp)) == NULL)
err(1, NULL);
qp->q_asked = qp->q_answered = FALSE;
@@ -316,9 +316,10 @@ appdstr(s, tp, len)
if ((m = malloc(strlen(s) + len + 1)) == NULL)
err(1, NULL);
for (mp = m, sp = s; *mp++ = *sp++;);
-
+ --mp;
if (*(mp - 1) == '\\')
--mp;
+
while ((ch = *mp++ = *tp++) && ch != '\n');
*mp = '\0';