diff options
author | cgd <cgd@NetBSD.org> | 1995-04-22 09:59:01 +0000 |
---|---|---|
committer | cgd <cgd@NetBSD.org> | 1995-04-22 09:59:01 +0000 |
commit | 5c07a4c2750120f7b7aeab4c4acfb0ff578c9827 (patch) | |
tree | aea66b27f231220d4ee70267e2e8132f6ad0ccc4 /quiz | |
parent | 416d932935b8a3171ac05bfa2c147bcef759d6f3 (diff) | |
download | bsdgames-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.c | 5 |
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'; |