[packages/nethack] - rel 10; build fixed - patch from FC
arekm
arekm at pld-linux.org
Sat Dec 12 21:55:54 CET 2015
commit f06e6feab4a8df386cd1dc93644460694f4cc435
Author: Arkadiusz Miśkiewicz <arekm at maven.pl>
Date: Sat Dec 12 21:55:49 2015 +0100
- rel 10; build fixed - patch from FC
nethack-3.4.3-format-security.patch | 1231 +++++++++++++++++++++++++++++++++++
nethack.spec | 4 +-
2 files changed, 1234 insertions(+), 1 deletion(-)
---
diff --git a/nethack.spec b/nethack.spec
index 2a06611..00c13a9 100644
--- a/nethack.spec
+++ b/nethack.spec
@@ -13,7 +13,7 @@ Summary(pl.UTF-8): NetHack - Przygoda w Labiryntach Groźby
Summary(pt_BR.UTF-8): Jogo estilo rogue baseado no Dungeons and Dragons
Name: nethack
Version: 3.4.3
-Release: 9
+Release: 10
License: Nethack GPL
Group: Applications/Games
Source0: http://downloads.sourceforge.net/nethack/%{name}-%{file_version}-src.tgz
@@ -40,6 +40,7 @@ Patch3: %{name}-qt.patch
Patch4: %{name}-qt33.patch
# http://www.userfriendly.org/games/nethack/nethack-3.4.3-turbonerd-0.1.0.patch
Patch5: %{name}-3.4.3-turbonerd-0.1.0.patch
+Patch6: nethack-3.4.3-format-security.patch
URL: http://www.nethack.org/
BuildRequires: bison
BuildRequires: flex
@@ -128,6 +129,7 @@ Nethackowy podręcznik w formacie PDF.
%{?with_qt:%patch3 -p1}
%patch4 -p1
%patch5 -p1
+%patch6 -p1
%build
sh ./sys/unix/setup.sh links
diff --git a/nethack-3.4.3-format-security.patch b/nethack-3.4.3-format-security.patch
new file mode 100644
index 0000000..de33c5d
--- /dev/null
+++ b/nethack-3.4.3-format-security.patch
@@ -0,0 +1,1231 @@
+diff --git a/src/apply.c b/src/apply.c
+index f45e196..5b73d7c 100644
+--- a/src/apply.c
++++ b/src/apply.c
+@@ -62,7 +62,7 @@ use_camera(obj)
+ if(!getdir((char *)0)) return(0);
+
+ if (obj->spe <= 0) {
+- pline(nothing_happens);
++ pline("%s", nothing_happens);
+ return (1);
+ }
+ consume_obj_charge(obj, TRUE);
+@@ -802,7 +802,7 @@ struct obj **optr;
+ if (!obj->cursed)
+ (void) openit();
+ else
+- pline(nothing_happens);
++ pline("%s", nothing_happens);
+
+ } else if (obj->cursed) {
+ coord mm;
+@@ -834,7 +834,7 @@ struct obj **optr;
+ }
+ res += openit();
+ switch (res) {
+- case 0: pline(nothing_happens); break;
++ case 0: pline("%s", nothing_happens); break;
+ case 1: pline("%s opens...", Something);
+ learno = TRUE; break;
+ default: pline("Things open around you...");
+@@ -846,7 +846,7 @@ struct obj **optr;
+ amii_speaker( obj, "AeFeaeFeAefegw", AMII_OKAY_VOLUME );
+ #endif
+ if (findit() != 0) learno = TRUE;
+- else pline(nothing_happens);
++ else pline("%s", nothing_happens);
+ }
+
+ } /* charged BofO */
+@@ -1191,13 +1191,13 @@ dorub()
+ if (uwep->lamplit) begin_burn(uwep, TRUE);
+ update_inventory();
+ } else if (rn2(2) && !Blind)
+- You("see a puff of smoke.");
+- else pline(nothing_happens);
++ You("%s", "see a puff of smoke.");
++ else pline("%s", nothing_happens);
+ } else if (obj->otyp == BRASS_LANTERN) {
+ /* message from Adventure */
+ pline("Rubbing the electric lamp is not particularly rewarding.");
+ pline("Anyway, nothing exciting happens.");
+- } else pline(nothing_happens);
++ } else pline("%s", nothing_happens);
+ return 1;
+ }
+
+@@ -1510,7 +1510,7 @@ struct obj *obj;
+ }
+
+ if (trouble_count == 0) {
+- pline(nothing_happens);
++ pline("%s", nothing_happens);
+ return;
+ } else if (trouble_count > 1) { /* shuffle */
+ int i, j, k;
+@@ -2172,7 +2172,7 @@ struct obj *obj;
+ You("wrap your bullwhip around %s on the %s.",
+ an(singular(otmp, xname)), surface(u.ux, u.uy));
+ if (rnl(6) || pickup_object(otmp, 1L, TRUE) < 1)
+- pline(msg_slipsfree);
++ pline("%s", msg_slipsfree);
+ return 1;
+ }
+ }
+@@ -2213,7 +2213,7 @@ struct obj *obj;
+ wrapped_what = strcpy(buf, mon_nam(mtmp));
+ } else if (proficient) {
+ if (attack(mtmp)) return 1;
+- else pline(msg_snap);
++ else pline("%s", msg_snap);
+ }
+ }
+ if (!wrapped_what) {
+@@ -2235,10 +2235,10 @@ struct obj *obj;
+ vision_full_recalc = 1;
+ }
+ } else {
+- pline(msg_slipsfree);
++ pline("%s", msg_slipsfree);
+ }
+ if (mtmp) wakeup(mtmp);
+- } else pline(msg_snap);
++ } else pline("%s", msg_snap);
+
+ } else if (mtmp) {
+ if (!canspotmon(mtmp) &&
+@@ -2330,7 +2330,7 @@ struct obj *obj;
+ break;
+ }
+ } else {
+- pline(msg_slipsfree);
++ pline("%s", msg_slipsfree);
+ }
+ wakeup(mtmp);
+ } else {
+@@ -2340,7 +2340,7 @@ struct obj *obj;
+ else You("flick your bullwhip towards %s.", mon_nam(mtmp));
+ if (proficient) {
+ if (attack(mtmp)) return 1;
+- else pline(msg_snap);
++ else pline("%s", msg_snap);
+ }
+ }
+
+@@ -2349,7 +2349,7 @@ struct obj *obj;
+ You("snap your whip through thin air.");
+
+ } else {
+- pline(msg_snap);
++ pline("%s", msg_snap);
+
+ }
+ return 1;
+@@ -2426,7 +2426,7 @@ use_pole (obj)
+ u.uconduct.weaphit++;
+ } else
+ /* Now you know that nothing is there... */
+- pline(nothing_happens);
++ pline("%s", nothing_happens);
+ return (1);
+ }
+
+@@ -2588,7 +2588,7 @@ use_grapple (obj)
+ }
+ break;
+ }
+- pline(nothing_happens);
++ pline("%s", nothing_happens);
+ return (1);
+ }
+
+@@ -2989,7 +2989,7 @@ doapply()
+ (const char *)0);
+ makeknown(HORN_OF_PLENTY);
+ } else
+- pline(nothing_happens);
++ pline("%s", nothing_happens);
+ break;
+ case LAND_MINE:
+ case BEARTRAP:
+diff --git a/src/artifact.c b/src/artifact.c
+index ef27bd5..86bba3d 100644
+--- a/src/artifact.c
++++ b/src/artifact.c
+@@ -1191,7 +1191,7 @@ arti_invoke(obj)
+ if(obj->otyp == CRYSTAL_BALL)
+ use_crystal_ball(obj);
+ else
+- pline(nothing_happens);
++ pline("%s", nothing_happens);
+ return 1;
+ }
+
+diff --git a/src/botl.c b/src/botl.c
+index 6534ad7..beb4b3b 100644
+--- a/src/botl.c
++++ b/src/botl.c
+@@ -188,9 +188,9 @@ bot1()
+ mbot[k] += 'A' - 'a';
+ k++;
+ }
+- Sprintf(nb = eos(nb), mbot);
++ Sprintf(nb = eos(nb), "%s", mbot);
+ } else
+- Sprintf(nb = eos(nb), rank());
++ Sprintf(nb = eos(nb), "%s", rank());
+
+ Sprintf(nb = eos(nb)," ");
+ i = mrank_sz + 15;
+diff --git a/src/cmd.c b/src/cmd.c
+index b12c0e5..78d27f6 100644
+--- a/src/cmd.c
++++ b/src/cmd.c
+@@ -602,7 +602,7 @@ wiz_level_change()
+ else ret = sscanf(buf, "%d", &newlevel);
+
+ if (ret != 1) {
+- pline(Never_mind);
++ pline("%s", Never_mind);
+ return 0;
+ }
+ if (newlevel == u.ulevel) {
+@@ -2060,7 +2060,7 @@ coord *cc;
+ {
+ xchar new_x, new_y;
+ if (!getdir(prompt)) {
+- pline(Never_mind);
++ pline("%s", Never_mind);
+ return 0;
+ }
+ new_x = x + u.dx;
+@@ -2069,7 +2069,7 @@ coord *cc;
+ cc->x = new_x;
+ cc->y = new_y;
+ } else {
+- if (emsg) pline(emsg);
++ if (emsg) pline("%s", emsg);
+ return 0;
+ }
+ return 1;
+@@ -2340,7 +2340,7 @@ parse()
+ if (multi > 9) {
+ clear_nhwindow(WIN_MESSAGE);
+ Sprintf(in_line, "Count: %d", multi);
+- pline(in_line);
++ pline("%s", in_line);
+ mark_synch();
+ }
+ last_multi = multi;
+diff --git a/src/detect.c b/src/detect.c
+index 5da025f..d549f11 100644
+--- a/src/detect.c
++++ b/src/detect.c
+@@ -808,7 +808,7 @@ struct obj *obj;
+ case 3 : if (!resists_blnd(&youmonst)) {
+ pline("%s your vision!", Tobjnam(obj, "damage"));
+ make_blinded(Blinded + rnd(100),FALSE);
+- if (!Blind) Your(vision_clears);
++ if (!Blind) Your("%s", vision_clears);
+ } else {
+ pline("%s your vision.", Tobjnam(obj, "assault"));
+ You("are unaffected!");
+@@ -857,7 +857,7 @@ struct obj *obj;
+ ch = yn_function("What do you look for?", (char *)0, '\0');
+ /* Don't filter out ' ' here; it has a use */
+ if ((ch != def_monsyms[S_GHOST]) && index(quitchars,ch)) {
+- if (flags.verbose) pline(Never_mind);
++ if (flags.verbose) pline("%s", Never_mind);
+ return;
+ }
+ You("peer into %s...", the(xname(obj)));
+diff --git a/src/dig.c b/src/dig.c
+index 4c40a59..5297ac5 100644
+--- a/src/dig.c
++++ b/src/dig.c
+@@ -379,7 +379,7 @@ dig()
+ feel_location(dpx, dpy);
+ else
+ newsym(dpx, dpy);
+- if(digtxt && !digging.quiet) pline(digtxt); /* after newsym */
++ if(digtxt && !digging.quiet) pline("%s", digtxt); /* after newsym */
+ if(dmgtxt)
+ pay_for_damage(dmgtxt, FALSE);
+
+diff --git a/src/do.c b/src/do.c
+index 858777f..a381fb4 100644
+--- a/src/do.c
++++ b/src/do.c
+@@ -1310,7 +1310,7 @@ boolean at_stairs, falling, portal;
+ Sprintf(buf, mesg, !Blind ? "looks" : "seems");
+ mesg = buf;
+ }
+- if (mesg) pline(mesg);
++ if (mesg) pline("%s", mesg);
+ }
+
+ #ifdef REINCARNATION
+@@ -1459,7 +1459,7 @@ deferred_goto()
+ int typmask = u.utotype; /* save it; goto_level zeroes u.utotype */
+
+ assign_level(&dest, &u.utolev);
+- if (dfr_pre_msg) pline(dfr_pre_msg);
++ if (dfr_pre_msg) pline("%s", dfr_pre_msg);
+ goto_level(&dest, !!(typmask&1), !!(typmask&2), !!(typmask&4));
+ if (typmask & 0200) { /* remove portal */
+ struct trap *t = t_at(u.ux, u.uy);
+@@ -1469,7 +1469,7 @@ deferred_goto()
+ newsym(u.ux, u.uy);
+ }
+ }
+- if (dfr_post_msg) pline(dfr_post_msg);
++ if (dfr_post_msg) pline("%s", dfr_post_msg);
+ }
+ u.utotype = 0; /* our caller keys off of this */
+ if (dfr_pre_msg)
+diff --git a/src/dothrow.c b/src/dothrow.c
+index 2c4389a..325ea88 100644
+--- a/src/dothrow.c
++++ b/src/dothrow.c
+@@ -770,7 +770,7 @@ boolean hitsroof;
+ pline("It blinds you!");
+ u.ucreamed += blindinc;
+ make_blinded(Blinded + (long)blindinc, FALSE);
+- if (!Blind) Your(vision_clears);
++ if (!Blind) Your("%s", vision_clears);
+ }
+ break;
+ default:
+diff --git a/src/dungeon.c b/src/dungeon.c
+index b87b8bb..ff5c394 100644
+--- a/src/dungeon.c
++++ b/src/dungeon.c
+@@ -674,7 +674,7 @@ init_dungeons() /* initialize the "dungeon" structs */
+ interject_assistance(1, INTERJECT_PANIC, (genericptr_t)tbuf,
+ (genericptr_t)fqn_prefix[DATAPREFIX]);
+ #endif
+- panic(tbuf);
++ panic("%s", tbuf);
+ }
+
+ /* validate the data's version against the program's version */
+diff --git a/src/eat.c b/src/eat.c
+index 12e8d9b..4045d80 100644
+--- a/src/eat.c
++++ b/src/eat.c
+@@ -422,7 +422,7 @@ boolean message;
+ occupation = 0; /* do this early, so newuhs() knows we're done */
+ newuhs(FALSE);
+ if (nomovemsg) {
+- if (message) pline(nomovemsg);
++ if (message) pline("%s", nomovemsg);
+ nomovemsg = 0;
+ } else if (message)
+ You("finish eating %s.", food_xname(victual.piece, TRUE));
+@@ -1208,7 +1208,7 @@ struct obj *obj;
+ } else if(!rn2(4) && !Blind) {
+ pline("Everything suddenly goes dark.");
+ make_blinded((long)d(2,10),FALSE);
+- if (!Blind) Your(vision_clears);
++ if (!Blind) Your("%s", vision_clears);
+ } else if(!rn2(3)) {
+ const char *what, *where;
+ if (!Blind)
+diff --git a/src/engrave.c b/src/engrave.c
+index fe09b4f..27be5a4 100644
+--- a/src/engrave.c
++++ b/src/engrave.c
+@@ -890,7 +890,7 @@ doengrave()
+ c = yn_function("Do you want to add to the current engraving?",
+ ynqchars, 'y');
+ if (c == 'q') {
+- pline(Never_mind);
++ pline("%s", Never_mind);
+ return(0);
+ }
+ }
+@@ -983,7 +983,7 @@ doengrave()
+ Tobjnam(otmp, "glow"), otense(otmp, "fade"));
+ return(1);
+ } else {
+- pline(Never_mind);
++ pline("%s", Never_mind);
+ return(0);
+ }
+ }
+@@ -1100,12 +1100,12 @@ doengrave()
+
+ make_engr_at(u.ux, u.uy, buf, (moves - multi), type);
+
+- if (post_engr_text[0]) pline(post_engr_text);
++ if (post_engr_text[0]) pline("%s", post_engr_text);
+
+ if (doblind && !resists_blnd(&youmonst)) {
+ You("are blinded by the flash!");
+ make_blinded((long)rnd(50),FALSE);
+- if (!Blind) Your(vision_clears);
++ if (!Blind) Your("%s", vision_clears);
+ }
+
+ return(1);
+diff --git a/src/hack.c b/src/hack.c
+index 0e89c3b..5d19514 100644
+--- a/src/hack.c
++++ b/src/hack.c
+@@ -423,7 +423,7 @@ still_chewing(x,y)
+
+ unblock_point(x, y); /* vision */
+ newsym(x, y);
+- if (digtxt) You(digtxt); /* after newsym */
++ if (digtxt) You("%s", digtxt); /* after newsym */
+ if (dmgtxt) pay_for_damage(dmgtxt, FALSE);
+ (void) memset((genericptr_t)&digging, 0, sizeof digging);
+ return 0;
+@@ -2082,7 +2082,7 @@ const char *msg_override;
+ multi = 0; /* caller will usually have done this already */
+ if (msg_override) nomovemsg = msg_override;
+ else if (!nomovemsg) nomovemsg = You_can_move_again;
+- if (*nomovemsg) pline(nomovemsg);
++ if (*nomovemsg) pline("%s", nomovemsg);
+ nomovemsg = 0;
+ u.usleep = 0;
+ if (afternmv) (*afternmv)();
+@@ -2257,7 +2257,7 @@ const char *str;
+ {
+ if(near_capacity() >= EXT_ENCUMBER) {
+ if(str)
+- pline(str);
++ pline("%s", str);
+ else
+ You_cant("do that while carrying so much stuff.");
+ return 1;
+diff --git a/src/invent.c b/src/invent.c
+index b9a3683..167eb1e 100644
+--- a/src/invent.c
++++ b/src/invent.c
+@@ -971,7 +971,7 @@ register const char *let,*word;
+ }
+ if(index(quitchars,ilet)) {
+ if(flags.verbose)
+- pline(Never_mind);
++ pline("%s", Never_mind);
+ return((struct obj *)0);
+ }
+ if(ilet == '-') {
+@@ -1026,7 +1026,7 @@ register const char *let,*word;
+ }
+ if(ilet == '\033') {
+ if(flags.verbose)
+- pline(Never_mind);
++ pline("%s", Never_mind);
+ return((struct obj *)0);
+ }
+ /* they typed a letter (not a space) at the prompt */
+@@ -2214,7 +2214,7 @@ boolean picked_some;
+ Sprintf(fbuf, "There is %s here.", an(dfeature));
+
+ if (!otmp || is_lava(u.ux,u.uy) || (is_pool(u.ux,u.uy) && !Underwater)) {
+- if (dfeature) pline(fbuf);
++ if (dfeature) pline("%s", fbuf);
+ read_engr_at(u.ux, u.uy); /* Eric Backus */
+ if (!skip_objects && (Blind || !dfeature))
+ You("%s no objects here.", verb);
+@@ -2223,14 +2223,14 @@ boolean picked_some;
+ /* we know there is something here */
+
+ if (skip_objects) {
+- if (dfeature) pline(fbuf);
++ if (dfeature) pline("%s", fbuf);
+ read_engr_at(u.ux, u.uy); /* Eric Backus */
+ There("are %s%s objects here.",
+ (obj_cnt <= 10) ? "several" : "many",
+ picked_some ? " more" : "");
+ } else if (!otmp->nexthere) {
+ /* only one object */
+- if (dfeature) pline(fbuf);
++ if (dfeature) pline("%s", fbuf);
+ read_engr_at(u.ux, u.uy); /* Eric Backus */
+ #ifdef INVISIBLE_OBJECTS
+ if (otmp->oinvis && !See_invisible) verb = "feel";
+@@ -2684,7 +2684,7 @@ doorganize() /* inventory organizer by Del Lamb */
+ Sprintf(qbuf, "Adjust letter to what [%s]?",buf);
+ let = yn_function(qbuf, (char *)0, '\0');
+ if(index(quitchars,let)) {
+- pline(Never_mind);
++ pline("%s", Never_mind);
+ return(0);
+ }
+ if (let == '@' || !letter(let))
+diff --git a/src/lock.c b/src/lock.c
+index 4d5d333..35b1441 100644
+--- a/src/lock.c
++++ b/src/lock.c
+@@ -862,7 +862,7 @@ int x, y;
+ default: impossible("magic (%d) attempted on door.", otmp->otyp);
+ break;
+ }
+- if (msg && cansee(x,y)) pline(msg);
++ if (msg && cansee(x,y)) pline("%s", msg);
+ if (loudness > 0) {
+ /* door was destroyed */
+ wake_nearto(x, y, loudness);
+diff --git a/src/mail.c b/src/mail.c
+index 99d7637..a34f760 100644
+--- a/src/mail.c
++++ b/src/mail.c
+@@ -317,7 +317,7 @@ md_rush(md,tx,ty)
+ if (fx == tx && fy == ty) break;
+
+ if ((mon = m_at(fx,fy)) != 0) /* save monster at this position */
+- verbalize(md_exclamations());
++ verbalize("%s", md_exclamations());
+ else if (fx == u.ux && fy == u.uy)
+ verbalize("Excuse me.");
+
+diff --git a/src/makemon.c b/src/makemon.c
+index 89098dd..9e99cb8 100644
+--- a/src/makemon.c
++++ b/src/makemon.c
+@@ -1779,7 +1779,7 @@ struct obj *bag;
+ if (!bag || bag->otyp != BAG_OF_TRICKS) {
+ impossible("bad bag o' tricks");
+ } else if (bag->spe < 1) {
+- pline(nothing_happens);
++ pline("%s", nothing_happens);
+ } else {
+ boolean gotone = FALSE;
+ int cnt = 1;
+diff --git a/src/mcastu.c b/src/mcastu.c
+index 93d3b8d..549caf4 100644
+--- a/src/mcastu.c
++++ b/src/mcastu.c
+@@ -590,7 +590,7 @@ int spellnum;
+ (num_eyes == 1) ?
+ body_part(EYE) : makeplural(body_part(EYE)));
+ make_blinded(Half_spell_damage ? 100L : 200L, FALSE);
+- if (!Blind) Your(vision_clears);
++ if (!Blind) Your("%s", vision_clears);
+ dmg = 0;
+ } else
+ impossible("no reason for monster to cast blindness spell?");
+diff --git a/src/mhitu.c b/src/mhitu.c
+index c0711fc..7df5b5e 100644
+--- a/src/mhitu.c
++++ b/src/mhitu.c
+@@ -1036,7 +1036,7 @@ hitmu(mtmp, mattk)
+ if (can_blnd(mtmp, &youmonst, mattk->aatyp, (struct obj*)0)) {
+ if (!Blind) pline("%s blinds you!", Monnam(mtmp));
+ make_blinded(Blinded+(long)dmg,FALSE);
+- if (!Blind) Your(vision_clears);
++ if (!Blind) Your("%s", vision_clears);
+ }
+ dmg = 0;
+ break;
+@@ -1742,7 +1742,7 @@ gulpmu(mtmp, mattk) /* monster swallows you, or damage if u.uswallow */
+ if(!Blind) {
+ You_cant("see in here!");
+ make_blinded((long)tmp,FALSE);
+- if (!Blind) Your(vision_clears);
++ if (!Blind) Your("%s", vision_clears);
+ } else
+ /* keep him blind until disgorged */
+ make_blinded(Blinded+1,FALSE);
+@@ -1858,7 +1858,7 @@ common:
+ if (mon_visible(mtmp) || (rnd(tmp /= 2) > u.ulevel)) {
+ You("are blinded by a blast of light!");
+ make_blinded((long)tmp, FALSE);
+- if (!Blind) Your(vision_clears);
++ if (!Blind) Your("%s", vision_clears);
+ } else if (flags.verbose)
+ You("get the impression it was not terribly bright.");
+ }
+@@ -1985,7 +1985,7 @@ gazemu(mtmp, mattk) /* monster gazes at you */
+ /* not blind at this point implies you're wearing
+ the Eyes of the Overworld; make them block this
+ particular stun attack too */
+- if (!Blind) Your(vision_clears);
++ if (!Blind) Your("%s", vision_clears);
+ else make_stunned((long)d(1,3),TRUE);
+ }
+ break;
+diff --git a/src/mon.c b/src/mon.c
+index c769953..297a7b2 100644
+--- a/src/mon.c
++++ b/src/mon.c
+@@ -2370,7 +2370,7 @@ struct monst *mon;
+ You("cannot polymorph %s into that.", mon_nam(mon));
+ else break;
+ } while(++tries < 5);
+- if (tries==5) pline(thats_enough_tries);
++ if (tries==5) pline("%s", thats_enough_tries);
+ }
+ #endif /*WIZARD*/
+ if (mndx == NON_PM) mndx = rn1(SPECIAL_PM - LOW_PM, LOW_PM);
+diff --git a/src/mthrowu.c b/src/mthrowu.c
+index 3038ced..0ce7832 100644
+--- a/src/mthrowu.c
++++ b/src/mthrowu.c
+@@ -450,7 +450,7 @@ m_throw(mon, x, y, dx, dy, range, obj)
+ if (blindinc) {
+ u.ucreamed += blindinc;
+ make_blinded(Blinded + (long)blindinc, FALSE);
+- if (!Blind) Your(vision_clears);
++ if (!Blind) Your("%s", vision_clears);
+ }
+ }
+
+diff --git a/src/muse.c b/src/muse.c
+index 86044e5..3c038eb 100644
+--- a/src/muse.c
++++ b/src/muse.c
+@@ -79,7 +79,7 @@ struct obj *obj;
+ m_useup(mon, obj);
+ mtmp = makemon(&mons[PM_GHOST], cc.x, cc.y, NO_MM_FLAGS);
+ if (!mtmp) {
+- if (vis) pline(empty);
++ if (vis) pline("%s", empty);
+ } else {
+ if (vis) {
+ pline("As %s opens the bottle, an enormous %s emerges!",
+@@ -102,7 +102,7 @@ struct obj *obj;
+ m_useup(mon, obj);
+ mtmp = makemon(&mons[PM_DJINNI], cc.x, cc.y, NO_MM_FLAGS);
+ if (!mtmp) {
+- if (vis) pline(empty);
++ if (vis) pline("%s", empty);
+ } else {
+ if (vis)
+ pline("In a cloud of smoke, %s emerges!",
+diff --git a/src/polyself.c b/src/polyself.c
+index b051acb..8a5bf8f 100644
+--- a/src/polyself.c
++++ b/src/polyself.c
+@@ -234,7 +234,7 @@ boolean forcecontrol;
+
+ if(!Polymorph_control && !forcecontrol && !draconian && !iswere && !isvamp) {
+ if (rn2(20) > ACURR(A_CON)) {
+- You(shudder_for_moment);
++ You("%s", shudder_for_moment);
+ losehp(rnd(30), "system shock", KILLED_BY_AN);
+ exercise(A_CON, FALSE);
+ return;
+@@ -256,7 +256,7 @@ boolean forcecontrol;
+ You("cannot polymorph into that.");
+ else break;
+ } while(++tries < 5);
+- if (tries==5) pline(thats_enough_tries);
++ if (tries==5) pline("%s", thats_enough_tries);
+ /* allow skin merging, even when polymorph is controlled */
+ if (draconian &&
+ (mntmp == armor_to_dragon(uarm->otyp) || tries == 5))
+diff --git a/src/potion.c b/src/potion.c
+index 04abd41..9ed0768 100644
+--- a/src/potion.c
++++ b/src/potion.c
+@@ -932,7 +932,7 @@ register const char *txt;
+ You("have a %s feeling for a moment, then it passes.",
+ Hallucination ? "normal" : "strange");
+ else
+- pline(txt);
++ pline("%s", txt);
+
+ if(!obj) /* e.g., crystal ball finds no traps */
+ return;
+@@ -1280,7 +1280,7 @@ register struct obj *obj;
+ pline("It suddenly gets dark.");
+ }
+ make_blinded(itimeout_incr(Blinded, rnd(5)), FALSE);
+- if (!Blind && !u.usleep) Your(vision_clears);
++ if (!Blind && !u.usleep) Your("%s", vision_clears);
+ break;
+ case POT_WATER:
+ if(u.umonnum == PM_GREMLIN) {
+@@ -1633,7 +1633,7 @@ dodip()
+ obj == uball || obj == uskin ||
+ obj_resists(obj->otyp == POT_POLYMORPH ?
+ potion : obj, 5, 95)) {
+- pline(nothing_happens);
++ pline("%s", nothing_happens);
+ } else {
+ boolean was_wep = FALSE, was_swapwep = FALSE, was_quiver = FALSE;
+ short save_otyp = obj->otyp;
+diff --git a/src/pray.c b/src/pray.c
+index 0df2855..16c9f9c 100644
+--- a/src/pray.c
++++ b/src/pray.c
+@@ -1317,7 +1317,7 @@ verbalize("In return for thy service, I grant thee the gift of Immortality!");
+ } /* fake Amulet */
+
+ if (value == 0) {
+- pline(nothing_happens);
++ pline("%s", nothing_happens);
+ return (1);
+ }
+
+diff --git a/src/priest.c b/src/priest.c
+index 5681930..effd0db 100644
+--- a/src/priest.c
++++ b/src/priest.c
+@@ -363,8 +363,8 @@ register int roomno;
+ msg1 = buf;
+ }
+ if (can_speak) {
+- verbalize(msg1);
+- if (msg2) verbalize(msg2);
++ verbalize("%s", msg1);
++ if (msg2) verbalize("%s", msg2);
+ }
+ if(!sanctum) {
+ /* !tended -> !shrined */
+@@ -433,7 +433,7 @@ register struct monst *priest;
+ priest->mcanmove = 1;
+ }
+ priest->mpeaceful = 0;
+- verbalize(cranky_msg[rn2(3)]);
++ verbalize("%s", cranky_msg[rn2(3)]);
+ return;
+ }
+
+diff --git a/src/questpgr.c b/src/questpgr.c
+index b4b80af..4bb6929 100644
+--- a/src/questpgr.c
++++ b/src/questpgr.c
+@@ -364,7 +364,7 @@ struct qtmsg *qt_msg;
+ for (size = 0; size < qt_msg->size; size += (long)strlen(in_line)) {
+ (void) dlb_fgets(in_line, 80, msg_file);
+ convert_line();
+- pline(out_line);
++ pline("%s", out_line);
+ }
+
+ }
+diff --git a/src/read.c b/src/read.c
+index ab530f0..bc7dcb0 100644
+--- a/src/read.c
++++ b/src/read.c
+@@ -156,14 +156,14 @@ static void
+ stripspe(obj)
+ register struct obj *obj;
+ {
+- if (obj->blessed) pline(nothing_happens);
++ if (obj->blessed) pline("%s", nothing_happens);
+ else {
+ if (obj->spe > 0) {
+ obj->spe = 0;
+ if (obj->otyp == OIL_LAMP || obj->otyp == BRASS_LANTERN)
+ obj->age = 0;
+ Your("%s %s briefly.",xname(obj), otense(obj, "vibrate"));
+- } else pline(nothing_happens);
++ } else pline("%s", nothing_happens);
+ }
+ }
+
+@@ -320,7 +320,7 @@ int curse_bless;
+ if (obj->spe < 3)
+ Your("marker seems permanently dried out.");
+ else
+- pline(nothing_happens);
++ pline("%s", nothing_happens);
+ } else if (is_blessed) {
+ n = rn1(16,15); /* 15..30 */
+ if (obj->spe + n <= 50)
+@@ -378,7 +378,7 @@ int curse_bless;
+ if (obj->spe < 5) {
+ obj->spe++;
+ p_glow1(obj);
+- } else pline(nothing_happens);
++ } else pline("%s", nothing_happens);
+ }
+ break;
+ case HORN_OF_PLENTY:
+@@ -1284,7 +1284,7 @@ register struct obj *sobj;
+ cc.x = u.ux;
+ cc.y = u.uy;
+ if (getpos(&cc, TRUE, "the desired position") < 0) {
+- pline(Never_mind);
++ pline("%s", Never_mind);
+ return 0;
+ }
+ if (!cansee(cc.x, cc.y) || distu(cc.x, cc.y) >= 32) {
+@@ -1433,7 +1433,7 @@ do_class_genocide()
+
+ for(j=0; ; j++) {
+ if (j >= 5) {
+- pline(thats_enough_tries);
++ pline("%s", thats_enough_tries);
+ return;
+ }
+ do {
+@@ -1602,7 +1602,7 @@ int how;
+ } else {
+ for(i = 0; ; i++) {
+ if(i >= 5) {
+- pline(thats_enough_tries);
++ pline("%s", thats_enough_tries);
+ return;
+ }
+ getlin("What monster do you want to genocide? [type the name]",
+@@ -1725,7 +1725,7 @@ int how;
+ if (cnt)
+ pline("Sent in some %s.", makeplural(buf));
+ else
+- pline(nothing_happens);
++ pline("%s", nothing_happens);
+ }
+ }
+
+@@ -1845,7 +1845,7 @@ create_particular()
+ } while (++tries < 5);
+
+ if (tries == 5) {
+- pline(thats_enough_tries);
++ pline("%s", thats_enough_tries);
+ } else {
+ (void) cant_create(&which, FALSE);
+ whichpm = &mons[which];
+diff --git a/src/region.c b/src/region.c
+index e4d12af..3c405ec 100644
+--- a/src/region.c
++++ b/src/region.c
+@@ -445,7 +445,7 @@ xchar
+ !regions[i]->attach_2_u && !inside_region(regions[i], x, y)) {
+ clear_hero_inside(regions[i]);
+ if (regions[i]->leave_msg != NULL)
+- pline(regions[i]->leave_msg);
++ pline("%s", regions[i]->leave_msg);
+ if ((f_indx = regions[i]->leave_f) != NO_CALLBACK)
+ (void) (*callbacks[f_indx])(regions[i], (genericptr_t) 0);
+ }
+@@ -456,7 +456,7 @@ xchar
+ !regions[i]->attach_2_u && inside_region(regions[i], x, y)) {
+ set_hero_inside(regions[i]);
+ if (regions[i]->enter_msg != NULL)
+- pline(regions[i]->enter_msg);
++ pline("%s", regions[i]->enter_msg);
+ if ((f_indx = regions[i]->enter_f) != NO_CALLBACK)
+ (void) (*callbacks[f_indx])(regions[i], (genericptr_t) 0);
+ }
+diff --git a/src/restore.c b/src/restore.c
+index aaabbed..c6a4a3f 100644
+--- a/src/restore.c
++++ b/src/restore.c
+@@ -737,7 +737,7 @@ boolean ghostly;
+ else
+ Sprintf(trickbuf, "This is level %d, not %d!", dlvl, lev);
+ #ifdef WIZARD
+- if (wizard) pline(trickbuf);
++ if (wizard) pline("%s", trickbuf);
+ #endif
+ trickery(trickbuf);
+ }
+diff --git a/src/shk.c b/src/shk.c
+index 53c868b..67285d4 100644
+--- a/src/shk.c
++++ b/src/shk.c
+@@ -1345,7 +1345,7 @@ proceed:
+ else Strcat(sbuf,
+ "for gold picked up and the use of merchandise.");
+ } else Strcat(sbuf, "for the use of merchandise.");
+- pline(sbuf);
++ pline("%s", sbuf);
+ #ifndef GOLDOBJ
+ if (u.ugold + eshkp->credit < dtmp) {
+ #else
+diff --git a/src/sounds.c b/src/sounds.c
+index ebd51aa..0740ab4 100644
+--- a/src/sounds.c
++++ b/src/sounds.c
+@@ -53,7 +53,7 @@ dosounds()
+ "the splashing of a naiad.",
+ "a soda fountain!",
+ };
+- You_hear(fountain_msg[rn2(3)+hallu]);
++ You_hear("%s", fountain_msg[rn2(3)+hallu]);
+ }
+ #ifdef SINK
+ if (level.flags.nsinks && !rn2(300)) {
+@@ -62,7 +62,7 @@ dosounds()
+ "a gurgling noise.",
+ "dishes being washed!",
+ };
+- You_hear(sink_msg[rn2(2)+hallu]);
++ You_hear("%s", sink_msg[rn2(2)+hallu]);
+ }
+ #endif
+ if (level.flags.has_court && !rn2(200)) {
+@@ -81,7 +81,7 @@ dosounds()
+ /* finding one is enough, at least for now */
+ int which = rn2(3)+hallu;
+
+- if (which != 2) You_hear(throne_msg[which]);
++ if (which != 2) You_hear("%s", throne_msg[which]);
+ else pline(throne_msg[2], uhis());
+ return;
+ }
+@@ -93,7 +93,7 @@ dosounds()
+ "smell marsh gas!", /* so it's a smell...*/
+ "hear Donald Duck!",
+ };
+- You(swamp_msg[rn2(2)+hallu]);
++ You("%s", swamp_msg[rn2(2)+hallu]);
+ return;
+ }
+ if (level.flags.has_vault && !rn2(200)) {
+@@ -201,7 +201,7 @@ dosounds()
+ mon_in_room(mtmp, BARRACKS) &&
+ /* sleeping implies not-yet-disturbed (usually) */
+ (mtmp->msleeping || ++count > 5)) {
+- You_hear(barracks_msg[rn2(3)+hallu]);
++ You_hear("%s", barracks_msg[rn2(3)+hallu]);
+ return;
+ }
+ }
+@@ -216,7 +216,7 @@ dosounds()
+ if (DEADMONSTER(mtmp)) continue;
+ if ((mtmp->msleeping || is_animal(mtmp->data)) &&
+ mon_in_room(mtmp, ZOO)) {
+- You_hear(zoo_msg[rn2(2)+hallu]);
++ You_hear("%s", zoo_msg[rn2(2)+hallu]);
+ return;
+ }
+ }
+@@ -234,7 +234,7 @@ dosounds()
+ "the chime of a cash register.",
+ "Neiman and Marcus arguing!",
+ };
+- You_hear(shop_msg[rn2(2)+hallu]);
++ You_hear("%s", shop_msg[rn2(2)+hallu]);
+ }
+ return;
+ }
+@@ -252,7 +252,7 @@ dosounds()
+ "someone say \"No more woodchucks!\"",
+ "a loud ZOT!" /* both rec.humor.oracle */
+ };
+- You_hear(ora_msg[rn2(3)+hallu*2]);
++ You_hear("%s", ora_msg[rn2(3)+hallu*2]);
+ }
+ return;
+ }
+@@ -816,7 +816,7 @@ register struct monst *mtmp;
+ }
+
+ if (pline_msg) pline("%s %s", Monnam(mtmp), pline_msg);
+- else if (verbl_msg) verbalize(verbl_msg);
++ else if (verbl_msg) verbalize("%s", verbl_msg);
+ return(1);
+ }
+
+diff --git a/src/spell.c b/src/spell.c
+index 4659cfa..10657de 100644
+--- a/src/spell.c
++++ b/src/spell.c
+@@ -948,7 +948,7 @@ boolean atme;
+ break;
+ case SPE_JUMPING:
+ if (!jump(max(role_skill,1)))
+- pline(nothing_happens);
++ pline("%s", nothing_happens);
+ break;
+ default:
+ impossible("Unknown spell %d attempted.", spell);
+diff --git a/src/steed.c b/src/steed.c
+index 52e97dc..8c46537 100644
+--- a/src/steed.c
++++ b/src/steed.c
+@@ -58,7 +58,7 @@ use_saddle(otmp)
+
+ /* Select an animal */
+ if (u.uswallow || Underwater || !getdir((char *)0)) {
+- pline(Never_mind);
++ pline("%s", Never_mind);
+ return 0;
+ }
+ if (!u.dx && !u.dy) {
+diff --git a/src/teleport.c b/src/teleport.c
+index c913e3c..e7c1e9f 100644
+--- a/src/teleport.c
++++ b/src/teleport.c
+@@ -552,7 +552,7 @@ dotele()
+ else tele();
+ (void) next_to_u();
+ } else {
+- You(shudder_for_moment);
++ You("%s", shudder_for_moment);
+ return(0);
+ }
+ if (!trap) morehungry(100);
+@@ -663,7 +663,7 @@ level_tele()
+ * we let negative values requests fall into the "heaven" loop.
+ */
+ if (Is_knox(&u.uz) && newlev > 0) {
+- You(shudder_for_moment);
++ You("%s", shudder_for_moment);
+ return;
+ }
+ /* if in Quest, the player sees "Home 1", etc., on the status
+@@ -680,13 +680,13 @@ level_tele()
+ random_levtport:
+ newlev = random_teleport_level();
+ if (newlev == depth(&u.uz)) {
+- You(shudder_for_moment);
++ You("%s", shudder_for_moment);
+ return;
+ }
+ }
+
+ if (!next_to_u()) {
+- You(shudder_for_moment);
++ You("%s", shudder_for_moment);
+ return;
+ }
+ #ifdef WIZARD
+@@ -812,7 +812,7 @@ register struct trap *ttmp;
+ struct d_level target_level;
+
+ if (!next_to_u()) {
+- You(shudder_for_moment);
++ You("%s", shudder_for_moment);
+ return;
+ }
+
+@@ -846,7 +846,7 @@ struct trap *trap;
+ shieldeff(u.ux, u.uy);
+ You_feel("a wrenching sensation.");
+ } else if (!next_to_u()) {
+- You(shudder_for_moment);
++ You("%s", shudder_for_moment);
+ } else if (trap->once) {
+ deltrap(trap);
+ newsym(u.ux,u.uy); /* get rid of trap symbol */
+diff --git a/src/timeout.c b/src/timeout.c
+index 6a336d6..3b19ecc 100644
+--- a/src/timeout.c
++++ b/src/timeout.c
+@@ -31,7 +31,7 @@ stoned_dialogue()
+ register long i = (Stoned & TIMEOUT);
+
+ if (i > 0L && i <= SIZE(stoned_texts))
+- pline(stoned_texts[SIZE(stoned_texts) - i]);
++ pline("%s", stoned_texts[SIZE(stoned_texts) - i]);
+ if (i == 5L)
+ HFast = 0L;
+ if (i == 3L)
+@@ -55,7 +55,7 @@ vomiting_dialogue()
+
+ if ((((Vomiting & TIMEOUT) % 3L) == 2) && (i >= 0)
+ && (i < SIZE(vomiting_texts)))
+- You(vomiting_texts[SIZE(vomiting_texts) - i - 1]);
++ You("%s", vomiting_texts[SIZE(vomiting_texts) - i - 1]);
+
+ switch ((int) i) {
+ case 0:
+@@ -102,7 +102,7 @@ choke_dialogue()
+ if (index(str, '%'))
+ pline(str, hcolor(NH_BLUE));
+ else
+- pline(str);
++ pline("%s", str);
+ }
+ }
+ exercise(A_STR, FALSE);
+@@ -132,7 +132,7 @@ slime_dialogue()
+ } else
+ pline(str, an(Hallucination ? rndmonnam() : "green slime"));
+ } else
+- pline(str);
++ pline("%s", str);
+ }
+ if (i == 3L) { /* limbs becoming oozy */
+ HFast = 0L; /* lose intrinsic speed */
+diff --git a/src/trap.c b/src/trap.c
+index d336276..1724267 100644
+--- a/src/trap.c
++++ b/src/trap.c
+@@ -359,7 +359,7 @@ boolean td; /* td == TRUE : trap door or hole */
+ dont_fall = "are jerked back by your pet!";
+ }
+ if (dont_fall) {
+- You(dont_fall);
++ You("%s", dont_fall);
+ /* hero didn't fall through, but any objects here might */
+ impact_drop((struct obj *)0, u.ux, u.uy, 0);
+ if (!td) {
+@@ -2498,7 +2498,7 @@ domagictrap()
+ if (!resists_blnd(&youmonst)) {
+ You("are momentarily blinded by a flash of light!");
+ make_blinded((long)rn1(5,10),FALSE);
+- if (!Blind) Your(vision_clears);
++ if (!Blind) Your("%s", vision_clears);
+ } else if (!Blind) {
+ You("see a flash of light!");
+ } else
+diff --git a/src/zap.c b/src/zap.c
+index 991c429..d37b30d 100644
+--- a/src/zap.c
++++ b/src/zap.c
+@@ -1835,7 +1835,7 @@ dozap()
+ check_unpaid(obj);
+
+ /* zappable addition done by GAN 11/03/86 */
+- if(!zappable(obj)) pline(nothing_happens);
++ if(!zappable(obj)) pline("%s", nothing_happens);
+ else if(obj->cursed && !rn2(100)) {
+ backfire(obj); /* the wand blows up in your face! */
+ exercise(A_STR, FALSE);
+@@ -1912,7 +1912,7 @@ boolean ordinary;
+ if (!resists_blnd(&youmonst)) {
+ You(are_blinded_by_the_flash);
+ make_blinded((long)rnd(100),FALSE);
+- if (!Blind) Your(vision_clears);
++ if (!Blind) Your("%s", vision_clears);
+ }
+ break;
+
+@@ -2093,7 +2093,7 @@ boolean ordinary;
+ You(are_blinded_by_the_flash);
+ make_blinded((long)damage, FALSE);
+ makeknown(obj->otyp);
+- if (!Blind) Your(vision_clears);
++ if (!Blind) Your("%s", vision_clears);
+ }
+ damage = 0; /* reset */
+ break;
+@@ -2373,7 +2373,7 @@ struct obj *obj; /* wand or spell */
+ case SPE_STONE_TO_FLESH:
+ if (Is_airlevel(&u.uz) || Is_waterlevel(&u.uz) ||
+ Underwater || (Is_qstart(&u.uz) && u.dz < 0)) {
+- pline(nothing_happens);
++ pline("%s", nothing_happens);
+ } else if (u.dz < 0) { /* we should do more... */
+ pline("Blood drips on your %s.", body_part(FACE));
+ } else if (u.dz > 0 && !OBJ_AT(u.ux, u.uy)) {
+@@ -2384,7 +2384,7 @@ struct obj *obj; /* wand or spell */
+ e = engr_at(u.ux, u.uy);
+ if (!(e && e->engr_type == ENGRAVE)) {
+ if (is_pool(u.ux, u.uy) || is_ice(u.ux, u.uy))
+- pline(nothing_happens);
++ pline("%s", nothing_happens);
+ else
+ pline("Blood %ss %s your %s.",
+ is_lava(u.ux, u.uy) ? "boil" : "pool",
+@@ -3463,7 +3463,7 @@ register int dx,dy;
+ if (abstype == ZT_LIGHTNING && !resists_blnd(&youmonst)) {
+ You(are_blinded_by_the_flash);
+ make_blinded((long)d(nd,50),FALSE);
+- if (!Blind) Your(vision_clears);
++ if (!Blind) Your("%s", vision_clears);
+ }
+ stop_occupation();
+ nomul(0);
+@@ -3597,7 +3597,7 @@ boolean *shopdamage;
+ if (ttmp) ttmp->tseen = 1;
+ if (cansee(x,y)) msgtxt = "The water evaporates.";
+ }
+- Norep(msgtxt);
++ Norep("%s", msgtxt);
+ if (lev->typ == ROOM) newsym(x,y);
+ } else if(IS_FOUNTAIN(lev->typ)) {
+ if (cansee(x,y))
+@@ -3721,12 +3721,12 @@ boolean *shopdamage;
+ lev->doormask = new_doormask;
+ unblock_point(x, y); /* vision */
+ if (cansee(x, y)) {
+- pline(see_txt);
++ pline("%s", see_txt);
+ newsym(x, y);
+ } else if (sense_txt) {
+- You(sense_txt);
++ You("%s", sense_txt);
+ } else if (hear_txt) {
+- if (flags.soundok) You_hear(hear_txt);
++ if (flags.soundok) You_hear("%s", hear_txt);
+ }
+ if (picking_at(x, y)) {
+ stop_occupation();
+@@ -4111,7 +4111,7 @@ retry:
+ if (!otmp) {
+ pline("Nothing fitting that description exists in the game.");
+ if (++tries < 5) goto retry;
+- pline(thats_enough_tries);
++ pline("%s", thats_enough_tries);
+ otmp = readobjnam((char *)0, (struct obj *)0, TRUE);
+ if (!otmp) return; /* for safety; should never happen */
+ } else if (otmp == ¬hing) {
+diff --git a/util/makedefs.c b/util/makedefs.c
+index 23dace2..de7319b 100644
+--- a/util/makedefs.c
++++ b/util/makedefs.c
+@@ -358,7 +358,7 @@ do_rumors()
+ perror(filename);
+ exit(EXIT_FAILURE);
+ }
+- Fprintf(ofp,Dont_Edit_Data);
++ Fprintf(ofp,"%s",Dont_Edit_Data);
+
+ Sprintf(infile, DATA_IN_TEMPLATE, RUMOR_FILE);
+ Strcat(infile, ".tru");
+@@ -557,7 +557,7 @@ do_date()
+ exit(EXIT_FAILURE);
+ }
+ Fprintf(ofp,"/*\tSCCS Id: @(#)date.h\t3.4\t2002/02/03 */\n\n");
+- Fprintf(ofp,Dont_Edit_Code);
++ Fprintf(ofp,"%s",Dont_Edit_Code);
+
+ #ifdef KR1ED
+ (void) time(&clocktim);
+@@ -1229,7 +1229,7 @@ do_dungeon()
+ perror(filename);
+ exit(EXIT_FAILURE);
+ }
+- Fprintf(ofp,Dont_Edit_Data);
++ Fprintf(ofp,"%s",Dont_Edit_Data);
+
+ while (fgets(in_line, sizeof in_line, ifp) != 0) {
+ SpinCursor(3);
+@@ -1351,7 +1351,7 @@ do_monstr()
+ perror(filename);
+ exit(EXIT_FAILURE);
+ }
+- Fprintf(ofp,Dont_Edit_Code);
++ Fprintf(ofp,"%s",Dont_Edit_Code);
+ Fprintf(ofp,"#include \"config.h\"\n");
+ Fprintf(ofp,"\nconst int monstr[] = {\n");
+ for (ptr = &mons[0], j = 0; ptr->mlet; ptr++) {
+@@ -1392,7 +1392,7 @@ do_permonst()
+ exit(EXIT_FAILURE);
+ }
+ Fprintf(ofp,"/*\tSCCS Id: @(#)pm.h\t3.4\t2002/02/03 */\n\n");
+- Fprintf(ofp,Dont_Edit_Code);
++ Fprintf(ofp,"%s",Dont_Edit_Code);
+ Fprintf(ofp,"#ifndef PM_H\n#define PM_H\n");
+
+ if (strcmp(mons[0].mname, "playermon") != 0)
+@@ -1708,7 +1708,7 @@ do_objs()
+ exit(EXIT_FAILURE);
+ }
+ Fprintf(ofp,"/*\tSCCS Id: @(#)onames.h\t3.4\t2002/02/03 */\n\n");
+- Fprintf(ofp,Dont_Edit_Code);
++ Fprintf(ofp,"%s",Dont_Edit_Code);
+ Fprintf(ofp,"#ifndef ONAMES_H\n#define ONAMES_H\n\n");
+
+ for(i = 0; !i || objects[i].oc_class != ILLOBJ_CLASS; i++) {
+@@ -1863,7 +1863,7 @@ do_vision()
+ perror(filename);
+ exit(EXIT_FAILURE);
+ }
+- Fprintf(ofp,Dont_Edit_Code);
++ Fprintf(ofp,"%s",Dont_Edit_Code);
+ Fprintf(ofp,"#ifdef VISION_TABLES\n");
+ #ifdef VISION_TABLES
+ H_close_gen();
+@@ -1888,7 +1888,7 @@ do_vision()
+ Unlink(filename);
+ exit(EXIT_FAILURE);
+ }
+- Fprintf(ofp,Dont_Edit_Code);
++ Fprintf(ofp,"%s",Dont_Edit_Code);
+ Fprintf(ofp,"#include \"config.h\"\n");
+ Fprintf(ofp,"#ifdef VISION_TABLES\n");
+ Fprintf(ofp,"#include \"vis_tab.h\"\n");
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/nethack.git/commitdiff/f06e6feab4a8df386cd1dc93644460694f4cc435
More information about the pld-cvs-commit
mailing list