<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://nethackwiki.com/index.php?action=history&amp;feed=atom&amp;title=Source%3ANetHack_3.0.0%2Funixmain.c</id>
	<title>Source:NetHack 3.0.0/unixmain.c - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://nethackwiki.com/index.php?action=history&amp;feed=atom&amp;title=Source%3ANetHack_3.0.0%2Funixmain.c"/>
	<link rel="alternate" type="text/html" href="https://nethackwiki.com/index.php?title=Source:NetHack_3.0.0/unixmain.c&amp;action=history"/>
	<updated>2026-06-04T06:27:43Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.32.5</generator>
	<entry>
		<id>https://nethackwiki.com/index.php?title=Source:NetHack_3.0.0/unixmain.c&amp;diff=174713&amp;oldid=prev</id>
		<title>Furey: NetHack 3.1.0 -&gt; Source:NetHack 3.1.0. (This is in annotation.)</title>
		<link rel="alternate" type="text/html" href="https://nethackwiki.com/index.php?title=Source:NetHack_3.0.0/unixmain.c&amp;diff=174713&amp;oldid=prev"/>
		<updated>2024-07-07T15:09:24Z</updated>

		<summary type="html">&lt;p&gt;NetHack 3.1.0 -&amp;gt; Source:NetHack 3.1.0. (This is in annotation.)&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 15:09, 7 July 2024&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l316&quot; &gt;Line 316:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 316:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Lines 301 through 309 are an example of a &amp;quot;dangling else&amp;quot;, and NetHack 3.0 is rife with them.  This particular one is likely a bug.  The &amp;quot;else&amp;quot; at line 304 pairs with the &amp;quot;if&amp;quot; at line 303, and not the one at line 302 as the indentation seems to imply.  This is an example of why you should use braces when in doubt, and pay attention to your compiler warnings.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Lines 301 through 309 are an example of a &amp;quot;dangling else&amp;quot;, and NetHack 3.0 is rife with them.  This particular one is likely a bug.  The &amp;quot;else&amp;quot; at line 304 pairs with the &amp;quot;if&amp;quot; at line 303, and not the one at line 302 as the indentation seems to imply.  This is an example of why you should use braces when in doubt, and pay attention to your compiler warnings.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;In [[NetHack 3.1.0]], the corresponding section is [[NetHack 3.1.0/allmain.c#line96|allmain.c, line 96]], and the first part is properly braced.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;In [[NetHack 3.1.0]], the corresponding section is [[&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Source:&lt;/ins&gt;NetHack 3.1.0/allmain.c#line96|allmain.c, line 96]], and the first part is properly braced.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  &amp;lt;span id=&amp;quot;line310&amp;quot;&amp;gt;310.  #ifdef POLYSELF&amp;lt;/span&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  &amp;lt;span id=&amp;quot;line310&amp;quot;&amp;gt;310.  #ifdef POLYSELF&amp;lt;/span&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Furey</name></author>
		
	</entry>
	<entry>
		<id>https://nethackwiki.com/index.php?title=Source:NetHack_3.0.0/unixmain.c&amp;diff=174330&amp;oldid=prev</id>
		<title>Furey: Delete link-to-particular-source instructions. Source code covers that now. &quot;the latest release&quot; -&gt; &quot;newer releases&quot;.</title>
		<link rel="alternate" type="text/html" href="https://nethackwiki.com/index.php?title=Source:NetHack_3.0.0/unixmain.c&amp;diff=174330&amp;oldid=prev"/>
		<updated>2024-07-05T01:54:00Z</updated>

		<summary type="html">&lt;p&gt;Delete link-to-particular-source instructions. &lt;a href=&quot;/wiki/Source_code&quot; class=&quot;mw-redirect&quot; title=&quot;Source code&quot;&gt;Source code&lt;/a&gt; covers that now. &amp;quot;the latest release&amp;quot; -&amp;gt; &amp;quot;newer releases&amp;quot;.&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 01:54, 5 July 2024&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot; &gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Below is the full text to '''unixmain.c''' from the [[NetHack 3.0.0 source code|source code]] of [[NetHack 3.0.0]]&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;. To link to a particular line, write [[NetHack 3.0.0/unixmain.c#line123|&amp;lt;nowiki&amp;gt;[[NetHack 3.0.0/unixmain.c#line123]]&amp;lt;/nowiki&amp;gt;]], for example&lt;/del&gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Below is the full text to '''unixmain.c''' from the [[NetHack 3.0.0 source code|source code]] of [[NetHack 3.0.0]].&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;'''Warning!''' This is the source code from an old release. For &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;the latest release&lt;/del&gt;, see [[Source code]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;'''Warning!''' This is the source code from an old release. For &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;newer releases&lt;/ins&gt;, see [[Source code]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{NGPL}}&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{NGPL}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Furey</name></author>
		
	</entry>
	<entry>
		<id>https://nethackwiki.com/index.php?title=Source:NetHack_3.0.0/unixmain.c&amp;diff=88850&amp;oldid=prev</id>
		<title>Ray Chason: Fixed in NetHack 3.1.0</title>
		<link rel="alternate" type="text/html" href="https://nethackwiki.com/index.php?title=Source:NetHack_3.0.0/unixmain.c&amp;diff=88850&amp;oldid=prev"/>
		<updated>2014-04-07T22:24:41Z</updated>

		<summary type="html">&lt;p&gt;Fixed in NetHack 3.1.0&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 22:24, 7 April 2014&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l316&quot; &gt;Line 316:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 316:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Lines 301 through 309 are an example of a &amp;quot;dangling else&amp;quot;, and NetHack 3.0 is rife with them.  This particular one is likely a bug.  The &amp;quot;else&amp;quot; at line 304 pairs with the &amp;quot;if&amp;quot; at line 303, and not the one at line 302 as the indentation seems to imply.  This is an example of why you should use braces when in doubt, and pay attention to your compiler warnings.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Lines 301 through 309 are an example of a &amp;quot;dangling else&amp;quot;, and NetHack 3.0 is rife with them.  This particular one is likely a bug.  The &amp;quot;else&amp;quot; at line 304 pairs with the &amp;quot;if&amp;quot; at line 303, and not the one at line 302 as the indentation seems to imply.  This is an example of why you should use braces when in doubt, and pay attention to your compiler warnings.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;This &lt;/del&gt;section &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;of code was greatly reorganized in &lt;/del&gt;[[NetHack 3.1.0]].&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;In [[NetHack 3.1.0]], the corresponding &lt;/ins&gt;section &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;is &lt;/ins&gt;[[NetHack 3.1.0&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;/allmain.c#line96|allmain.c, line 96&lt;/ins&gt;]]&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;, and the first part is properly braced&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  &amp;lt;span id=&amp;quot;line310&amp;quot;&amp;gt;310.  #ifdef POLYSELF&amp;lt;/span&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  &amp;lt;span id=&amp;quot;line310&amp;quot;&amp;gt;310.  #ifdef POLYSELF&amp;lt;/span&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Ray Chason</name></author>
		
	</entry>
	<entry>
		<id>https://nethackwiki.com/index.php?title=Source:NetHack_3.0.0/unixmain.c&amp;diff=88849&amp;oldid=prev</id>
		<title>Ray Chason: You keep using that dangling else.  I do not think it means what you think it means.</title>
		<link rel="alternate" type="text/html" href="https://nethackwiki.com/index.php?title=Source:NetHack_3.0.0/unixmain.c&amp;diff=88849&amp;oldid=prev"/>
		<updated>2014-04-07T21:52:14Z</updated>

		<summary type="html">&lt;p&gt;You keep using that dangling else.  I do not think it means what you think it means.&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 21:52, 7 April 2014&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l313&quot; &gt;Line 313:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 313:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  &amp;lt;span id=&amp;quot;line308&amp;quot;&amp;gt;308.  				done(&amp;quot;died&amp;quot;);&amp;lt;/span&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  &amp;lt;span id=&amp;quot;line308&amp;quot;&amp;gt;308.  				done(&amp;quot;died&amp;quot;);&amp;lt;/span&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  &amp;lt;span id=&amp;quot;line309&amp;quot;&amp;gt;309.  			    }&amp;lt;/span&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  &amp;lt;span id=&amp;quot;line309&amp;quot;&amp;gt;309.  			    }&amp;lt;/span&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Lines 301 through 309 are an example of a &amp;quot;dangling else&amp;quot;, and NetHack 3.0 is rife with them.  This particular one is likely a bug.  The &amp;quot;else&amp;quot; at line 304 pairs with the &amp;quot;if&amp;quot; at line 303, and not the one at line 302 as the indentation seems to imply.  This is an example of why you should use braces when in doubt, and pay attention to your compiler warnings.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;This section of code was greatly reorganized in [[NetHack 3.1.0]].&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  &amp;lt;span id=&amp;quot;line310&amp;quot;&amp;gt;310.  #ifdef POLYSELF&amp;lt;/span&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  &amp;lt;span id=&amp;quot;line310&amp;quot;&amp;gt;310.  #ifdef POLYSELF&amp;lt;/span&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  &amp;lt;span id=&amp;quot;line311&amp;quot;&amp;gt;311.  			if (u.mtimedone) {&amp;lt;/span&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  &amp;lt;span id=&amp;quot;line311&amp;quot;&amp;gt;311.  			if (u.mtimedone) {&amp;lt;/span&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Ray Chason</name></author>
		
	</entry>
	<entry>
		<id>https://nethackwiki.com/index.php?title=Source:NetHack_3.0.0/unixmain.c&amp;diff=28050&amp;oldid=prev</id>
		<title>Kernigh bot: NetHack 3.0.0/unixmain.c moved to Source:NetHack 3.0.0/unixmain.c: Robot: moved page</title>
		<link rel="alternate" type="text/html" href="https://nethackwiki.com/index.php?title=Source:NetHack_3.0.0/unixmain.c&amp;diff=28050&amp;oldid=prev"/>
		<updated>2008-03-04T05:43:51Z</updated>

		<summary type="html">&lt;p&gt;&lt;a href=&quot;/index.php?title=NetHack_3.0.0/unixmain.c&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;NetHack 3.0.0/unixmain.c (page does not exist)&quot;&gt;NetHack 3.0.0/unixmain.c&lt;/a&gt; moved to &lt;a href=&quot;/wiki/Source:NetHack_3.0.0/unixmain.c&quot; title=&quot;Source:NetHack 3.0.0/unixmain.c&quot;&gt;Source:NetHack 3.0.0/unixmain.c&lt;/a&gt;: Robot: moved page&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 05:43, 4 March 2008&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Kernigh bot</name></author>
		
	</entry>
	<entry>
		<id>https://nethackwiki.com/index.php?title=Source:NetHack_3.0.0/unixmain.c&amp;diff=11427&amp;oldid=prev</id>
		<title>Jaytbot: Automated source code upload</title>
		<link rel="alternate" type="text/html" href="https://nethackwiki.com/index.php?title=Source:NetHack_3.0.0/unixmain.c&amp;diff=11427&amp;oldid=prev"/>
		<updated>2006-09-24T21:50:16Z</updated>

		<summary type="html">&lt;p&gt;Automated source code upload&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Below is the full text to '''unixmain.c''' from the [[NetHack 3.0.0 source code|source code]] of [[NetHack 3.0.0]]. To link to a particular line, write [[NetHack 3.0.0/unixmain.c#line123|&amp;lt;nowiki&amp;gt;[[NetHack 3.0.0/unixmain.c#line123]]&amp;lt;/nowiki&amp;gt;]], for example.&lt;br /&gt;
&lt;br /&gt;
'''Warning!''' This is the source code from an old release. For the latest release, see [[Source code]]&lt;br /&gt;
&lt;br /&gt;
{{NGPL}}&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line1&amp;quot;&amp;gt;1.    /*	SCCS Id: @(#)unixmain.c	3.0	89/01/13&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line2&amp;quot;&amp;gt;2.    /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line3&amp;quot;&amp;gt;3.    /* NetHack may be freely redistributed.  See license for details. */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line4&amp;quot;&amp;gt;4.    /* main.c - (Unix) version */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line5&amp;quot;&amp;gt;5.    &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line6&amp;quot;&amp;gt;6.    #include &amp;lt;signal.h&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line7&amp;quot;&amp;gt;7.    #include &amp;lt;pwd.h&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line8&amp;quot;&amp;gt;8.    &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line9&amp;quot;&amp;gt;9.    #include &amp;quot;hack.h&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line10&amp;quot;&amp;gt;10.   &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line11&amp;quot;&amp;gt;11.   int hackpid = 0;				/* current pid */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line12&amp;quot;&amp;gt;12.   int locknum = 0;				/* max num of players */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line13&amp;quot;&amp;gt;13.   #ifdef DEF_PAGER&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line14&amp;quot;&amp;gt;14.   char *catmore = 0;				/* default pager */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line15&amp;quot;&amp;gt;15.   #endif&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line16&amp;quot;&amp;gt;16.   char SAVEF[PL_NSIZ + 11] = &amp;quot;save/&amp;quot;;	/* save/99999player */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line17&amp;quot;&amp;gt;17.   char *hname = 0;		/* name of the game (argv[0] of call) */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line18&amp;quot;&amp;gt;18.   char obuf[BUFSIZ];	/* BUFSIZ is defined in stdio.h */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line19&amp;quot;&amp;gt;19.   &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line20&amp;quot;&amp;gt;20.   int (*occupation)() = DUMMY;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line21&amp;quot;&amp;gt;21.   int (*afternmv)() = DUMMY;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line22&amp;quot;&amp;gt;22.   #ifdef CHDIR&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line23&amp;quot;&amp;gt;23.   static void chdirx();&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line24&amp;quot;&amp;gt;24.   #endif /* CHDIR */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line25&amp;quot;&amp;gt;25.   static void whoami(), newgame();&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line26&amp;quot;&amp;gt;26.   &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line27&amp;quot;&amp;gt;27.   main(argc,argv)&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line28&amp;quot;&amp;gt;28.   int argc;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line29&amp;quot;&amp;gt;29.   char *argv[];&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line30&amp;quot;&amp;gt;30.   {&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line31&amp;quot;&amp;gt;31.   	struct passwd *pw;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line32&amp;quot;&amp;gt;32.   	extern struct passwd *getpwuid();&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line33&amp;quot;&amp;gt;33.   	extern int x_maze_max, y_maze_max;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line34&amp;quot;&amp;gt;34.   	register int fd;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line35&amp;quot;&amp;gt;35.   #ifdef CHDIR&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line36&amp;quot;&amp;gt;36.   	register char *dir;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line37&amp;quot;&amp;gt;37.   #endif&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line38&amp;quot;&amp;gt;38.   #ifdef COMPRESS&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line39&amp;quot;&amp;gt;39.   	char	cmd[80], old[80];&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line40&amp;quot;&amp;gt;40.   #endif&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line41&amp;quot;&amp;gt;41.   	hname = argv[0];&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line42&amp;quot;&amp;gt;42.   	hackpid = getpid();&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line43&amp;quot;&amp;gt;43.   	(void) umask(0);&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line44&amp;quot;&amp;gt;44.   &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line45&amp;quot;&amp;gt;45.   #ifdef CHDIR			/* otherwise no chdir() */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line46&amp;quot;&amp;gt;46.   	/*&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line47&amp;quot;&amp;gt;47.   	 * See if we must change directory to the playground.&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line48&amp;quot;&amp;gt;48.   	 * (Perhaps hack runs suid and playground is inaccessible&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line49&amp;quot;&amp;gt;49.   	 *  for the player.)&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line50&amp;quot;&amp;gt;50.   	 * The environment variable HACKDIR is overridden by a&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line51&amp;quot;&amp;gt;51.   	 *  -d command line option (must be the first option given)&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line52&amp;quot;&amp;gt;52.   	 */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line53&amp;quot;&amp;gt;53.   &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line54&amp;quot;&amp;gt;54.   	dir = getenv(&amp;quot;HACKDIR&amp;quot;);&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line55&amp;quot;&amp;gt;55.   	if(argc &amp;gt; 1 &amp;amp;&amp;amp; !strncmp(argv[1], &amp;quot;-d&amp;quot;, 2)) {&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line56&amp;quot;&amp;gt;56.   		argc--;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line57&amp;quot;&amp;gt;57.   		argv++;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line58&amp;quot;&amp;gt;58.   		dir = argv[0]+2;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line59&amp;quot;&amp;gt;59.   		if(*dir == '=' || *dir == ':') dir++;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line60&amp;quot;&amp;gt;60.   		if(!*dir &amp;amp;&amp;amp; argc &amp;gt; 1) {&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line61&amp;quot;&amp;gt;61.   			argc--;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line62&amp;quot;&amp;gt;62.   			argv++;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line63&amp;quot;&amp;gt;63.   			dir = argv[0];&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line64&amp;quot;&amp;gt;64.   		}&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line65&amp;quot;&amp;gt;65.   		if(!*dir)&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line66&amp;quot;&amp;gt;66.   		    error(&amp;quot;Flag -d must be followed by a directory name.&amp;quot;);&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line67&amp;quot;&amp;gt;67.   	}&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line68&amp;quot;&amp;gt;68.   #endif /* CHDIR /**/&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line69&amp;quot;&amp;gt;69.   	/* Set the default values of the presentation characters */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line70&amp;quot;&amp;gt;70.   	(void) memcpy((char *) &amp;amp;showsyms, &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line71&amp;quot;&amp;gt;71.   		(char *) &amp;amp;defsyms, sizeof(struct symbols));&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line72&amp;quot;&amp;gt;72.   	initoptions();&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line73&amp;quot;&amp;gt;73.   	whoami();&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line74&amp;quot;&amp;gt;74.   	/*&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line75&amp;quot;&amp;gt;75.   	 * Now we know the directory containing 'record' and&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line76&amp;quot;&amp;gt;76.   	 * may do a prscore().&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line77&amp;quot;&amp;gt;77.   	 */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line78&amp;quot;&amp;gt;78.   	if(argc &amp;gt; 1 &amp;amp;&amp;amp; !strncmp(argv[1], &amp;quot;-s&amp;quot;, 2)) {&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line79&amp;quot;&amp;gt;79.   #ifdef CHDIR&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line80&amp;quot;&amp;gt;80.   		chdirx(dir,0);&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line81&amp;quot;&amp;gt;81.   #endif&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line82&amp;quot;&amp;gt;82.   		prscore(argc, argv);&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line83&amp;quot;&amp;gt;83.   		exit(0);&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line84&amp;quot;&amp;gt;84.   	}&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line85&amp;quot;&amp;gt;85.   &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line86&amp;quot;&amp;gt;86.   	/*&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line87&amp;quot;&amp;gt;87.   	 * It seems he really wants to play.&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line88&amp;quot;&amp;gt;88.   	 * Remember tty modes, to be restored on exit.&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line89&amp;quot;&amp;gt;89.   	 */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line90&amp;quot;&amp;gt;90.   	gettty();&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line91&amp;quot;&amp;gt;91.   	setbuf(stdout,obuf);&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line92&amp;quot;&amp;gt;92.   	setrandom();&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line93&amp;quot;&amp;gt;93.   	startup();&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line94&amp;quot;&amp;gt;94.   	cls();&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line95&amp;quot;&amp;gt;95.   	u.uhp = 1;	/* prevent RIP on early quits */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line96&amp;quot;&amp;gt;96.   	u.ux = FAR;	/* prevent nscr() */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line97&amp;quot;&amp;gt;97.   	(void) signal(SIGHUP, (SIG_RET_TYPE) hangup);&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line98&amp;quot;&amp;gt;98.   &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line99&amp;quot;&amp;gt;99.   	/*&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line100&amp;quot;&amp;gt;100.  	 * Find the creation date of this game,&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line101&amp;quot;&amp;gt;101.  	 * so as to avoid restoring outdated savefiles.&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line102&amp;quot;&amp;gt;102.  	 */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line103&amp;quot;&amp;gt;103.  	gethdate(hname);&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line104&amp;quot;&amp;gt;104.  &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line105&amp;quot;&amp;gt;105.  	/*&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line106&amp;quot;&amp;gt;106.  	 * We cannot do chdir earlier, otherwise gethdate will fail.&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line107&amp;quot;&amp;gt;107.  	 */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line108&amp;quot;&amp;gt;108.  #ifdef CHDIR&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line109&amp;quot;&amp;gt;109.  	chdirx(dir,1);&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line110&amp;quot;&amp;gt;110.  #endif&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line111&amp;quot;&amp;gt;111.  &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line112&amp;quot;&amp;gt;112.  	/*&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line113&amp;quot;&amp;gt;113.  	 * Process options.&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line114&amp;quot;&amp;gt;114.  	 */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line115&amp;quot;&amp;gt;115.  	while(argc &amp;gt; 1 &amp;amp;&amp;amp; argv[1][0] == '-'){&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line116&amp;quot;&amp;gt;116.  		argv++;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line117&amp;quot;&amp;gt;117.  		argc--;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line118&amp;quot;&amp;gt;118.  		switch(argv[0][1]){&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line119&amp;quot;&amp;gt;119.  #if defined(WIZARD) || defined(EXPLORE_MODE)&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line120&amp;quot;&amp;gt;120.  		case 'D':&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line121&amp;quot;&amp;gt;121.  		case 'X':&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line122&amp;quot;&amp;gt;122.  			pw = getpwuid(getuid());&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line123&amp;quot;&amp;gt;123.  # ifdef WIZARD&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line124&amp;quot;&amp;gt;124.  			if(!strcmp(pw-&amp;gt;pw_name, WIZARD))&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line125&amp;quot;&amp;gt;125.  				wizard = TRUE;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line126&amp;quot;&amp;gt;126.  # endif&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line127&amp;quot;&amp;gt;127.  # if defined(WIZARD) &amp;amp;&amp;amp; defined(EXPLORE_MODE)&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line128&amp;quot;&amp;gt;128.  			else&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line129&amp;quot;&amp;gt;129.  # endif&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line130&amp;quot;&amp;gt;130.  # ifdef EXPLORE_MODE&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line131&amp;quot;&amp;gt;131.  				discover = TRUE;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line132&amp;quot;&amp;gt;132.  # endif&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line133&amp;quot;&amp;gt;133.  			break;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line134&amp;quot;&amp;gt;134.  #endif&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line135&amp;quot;&amp;gt;135.  #ifdef NEWS&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line136&amp;quot;&amp;gt;136.  		case 'n':&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line137&amp;quot;&amp;gt;137.  			flags.nonews = TRUE;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line138&amp;quot;&amp;gt;138.  			break;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line139&amp;quot;&amp;gt;139.  #endif&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line140&amp;quot;&amp;gt;140.  		case 'u':&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line141&amp;quot;&amp;gt;141.  			if(argv[0][2])&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line142&amp;quot;&amp;gt;142.  			  (void) strncpy(plname, argv[0]+2, sizeof(plname)-1);&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line143&amp;quot;&amp;gt;143.  			else if(argc &amp;gt; 1) {&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line144&amp;quot;&amp;gt;144.  			  argc--;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line145&amp;quot;&amp;gt;145.  			  argv++;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line146&amp;quot;&amp;gt;146.  			  (void) strncpy(plname, argv[0], sizeof(plname)-1);&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line147&amp;quot;&amp;gt;147.  			} else&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line148&amp;quot;&amp;gt;148.  				Printf(&amp;quot;Player name expected after -u\n&amp;quot;);&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line149&amp;quot;&amp;gt;149.  			break;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line150&amp;quot;&amp;gt;150.  		default:&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line151&amp;quot;&amp;gt;151.  			/* allow -T for Tourist, etc. */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line152&amp;quot;&amp;gt;152.  			(void) strncpy(pl_character, argv[0]+1,&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line153&amp;quot;&amp;gt;153.  				sizeof(pl_character)-1);&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line154&amp;quot;&amp;gt;154.  &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line155&amp;quot;&amp;gt;155.  			/* Printf(&amp;quot;Unknown option: %s\n&amp;quot;, *argv); */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line156&amp;quot;&amp;gt;156.  		}&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line157&amp;quot;&amp;gt;157.  	}&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line158&amp;quot;&amp;gt;158.  &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line159&amp;quot;&amp;gt;159.  	if(argc &amp;gt; 1)&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line160&amp;quot;&amp;gt;160.  		locknum = atoi(argv[1]);&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line161&amp;quot;&amp;gt;161.  #ifdef MAX_NR_OF_PLAYERS&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line162&amp;quot;&amp;gt;162.  	if(!locknum || locknum &amp;gt; MAX_NR_OF_PLAYERS)&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line163&amp;quot;&amp;gt;163.  		locknum = MAX_NR_OF_PLAYERS;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line164&amp;quot;&amp;gt;164.  #endif&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line165&amp;quot;&amp;gt;165.  #ifdef DEF_PAGER&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line166&amp;quot;&amp;gt;166.  	if(!(catmore = getenv(&amp;quot;HACKPAGER&amp;quot;)) &amp;amp;&amp;amp; !(catmore = getenv(&amp;quot;PAGER&amp;quot;)))&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line167&amp;quot;&amp;gt;167.  		catmore = DEF_PAGER;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line168&amp;quot;&amp;gt;168.  #endif&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line169&amp;quot;&amp;gt;169.  #ifdef MAIL&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line170&amp;quot;&amp;gt;170.  	getmailstatus();&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line171&amp;quot;&amp;gt;171.  #endif&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line172&amp;quot;&amp;gt;172.  #ifdef WIZARD&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line173&amp;quot;&amp;gt;173.  	if(wizard) Strcpy(plname, &amp;quot;wizard&amp;quot;); else&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line174&amp;quot;&amp;gt;174.  #endif&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line175&amp;quot;&amp;gt;175.  	if(!*plname || !strncmp(plname, &amp;quot;player&amp;quot;, 4)&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line176&amp;quot;&amp;gt;176.  		    || !strncmp(plname, &amp;quot;games&amp;quot;, 4))&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line177&amp;quot;&amp;gt;177.  		askname();&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line178&amp;quot;&amp;gt;178.  	plnamesuffix();		/* strip suffix from name; calls askname() */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line179&amp;quot;&amp;gt;179.  				/* again if suffix was whole name */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line180&amp;quot;&amp;gt;180.  				/* accepts any suffix */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line181&amp;quot;&amp;gt;181.  #ifdef WIZARD&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line182&amp;quot;&amp;gt;182.  	if(!wizard) {&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line183&amp;quot;&amp;gt;183.  #endif&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line184&amp;quot;&amp;gt;184.  		/*&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line185&amp;quot;&amp;gt;185.  		 * check for multiple games under the same name&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line186&amp;quot;&amp;gt;186.  		 * (if !locknum) or check max nr of players (otherwise)&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line187&amp;quot;&amp;gt;187.  		 */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line188&amp;quot;&amp;gt;188.  		(void) signal(SIGQUIT,SIG_IGN);&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line189&amp;quot;&amp;gt;189.  		(void) signal(SIGINT,SIG_IGN);&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line190&amp;quot;&amp;gt;190.  		if(!locknum)&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line191&amp;quot;&amp;gt;191.  			Strcpy(lock,plname);&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line192&amp;quot;&amp;gt;192.  		getlock();	/* sets lock if locknum != 0 */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line193&amp;quot;&amp;gt;193.  #ifdef WIZARD&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line194&amp;quot;&amp;gt;194.  	} else&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line195&amp;quot;&amp;gt;195.  		Strcpy(lock,plname);&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line196&amp;quot;&amp;gt;196.  #endif /* WIZARD /**/&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line197&amp;quot;&amp;gt;197.  	setftty();&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line198&amp;quot;&amp;gt;198.  &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line199&amp;quot;&amp;gt;199.  	/* &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line200&amp;quot;&amp;gt;200.  	 * Initialisation of the boundaries of the mazes&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line201&amp;quot;&amp;gt;201.  	 * Both boundaries have to be even.&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line202&amp;quot;&amp;gt;202.  	 */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line203&amp;quot;&amp;gt;203.  	 &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line204&amp;quot;&amp;gt;204.  	x_maze_max = COLNO-1;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line205&amp;quot;&amp;gt;205.  	if (x_maze_max % 2) &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line206&amp;quot;&amp;gt;206.  		x_maze_max--;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line207&amp;quot;&amp;gt;207.  	y_maze_max = ROWNO-1;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line208&amp;quot;&amp;gt;208.  	if (y_maze_max % 2) &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line209&amp;quot;&amp;gt;209.  		y_maze_max--;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line210&amp;quot;&amp;gt;210.  &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line211&amp;quot;&amp;gt;211.  	/* initialize static monster strength array */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line212&amp;quot;&amp;gt;212.  	init_monstr();&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line213&amp;quot;&amp;gt;213.  &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line214&amp;quot;&amp;gt;214.  	Sprintf(SAVEF, &amp;quot;save/%d%s&amp;quot;, getuid(), plname);&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line215&amp;quot;&amp;gt;215.  	regularize(SAVEF+5);		/* avoid . or / in name */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line216&amp;quot;&amp;gt;216.  #ifdef COMPRESS&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line217&amp;quot;&amp;gt;217.  	Strcpy(old,SAVEF);&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line218&amp;quot;&amp;gt;218.  	Strcat(SAVEF,&amp;quot;.Z&amp;quot;);&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line219&amp;quot;&amp;gt;219.  	if((fd = open(SAVEF,0)) &amp;gt;= 0) {&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line220&amp;quot;&amp;gt;220.   	    (void) close(fd);&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line221&amp;quot;&amp;gt;221.  	    Strcpy(cmd, COMPRESS);&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line222&amp;quot;&amp;gt;222.  	    Strcat(cmd, &amp;quot; -d &amp;quot;);	/* uncompress */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line223&amp;quot;&amp;gt;223.  # ifdef COMPRESS_OPTIONS&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line224&amp;quot;&amp;gt;224.  	    Strcat(cmd, COMPRESS_OPTIONS);&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line225&amp;quot;&amp;gt;225.  	    Strcat(cmd, &amp;quot; &amp;quot;);&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line226&amp;quot;&amp;gt;226.  # endif&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line227&amp;quot;&amp;gt;227.  	    Strcat(cmd,SAVEF);&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line228&amp;quot;&amp;gt;228.  	    (void) system(cmd);&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line229&amp;quot;&amp;gt;229.  	}&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line230&amp;quot;&amp;gt;230.  	Strcpy(SAVEF,old);&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line231&amp;quot;&amp;gt;231.  #endif&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line232&amp;quot;&amp;gt;232.  	if((fd = open(SAVEF,0)) &amp;gt;= 0 &amp;amp;&amp;amp;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line233&amp;quot;&amp;gt;233.  	   (uptodate(fd) || unlink(SAVEF) == 666)) {&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line234&amp;quot;&amp;gt;234.  		(void) signal(SIGINT, (SIG_RET_TYPE) done1);&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line235&amp;quot;&amp;gt;235.  		pline(&amp;quot;Restoring old save file...&amp;quot;);&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line236&amp;quot;&amp;gt;236.  		(void) fflush(stdout);&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line237&amp;quot;&amp;gt;237.  		if(!dorecover(fd))&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line238&amp;quot;&amp;gt;238.  			goto not_recovered;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line239&amp;quot;&amp;gt;239.  		pline(&amp;quot;Hello %s, welcome to NetHack!&amp;quot;, plname);&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line240&amp;quot;&amp;gt;240.  		/* get shopkeeper set properly if restore is in shop */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line241&amp;quot;&amp;gt;241.  		(void) inshop();&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line242&amp;quot;&amp;gt;242.  #ifdef EXPLORE_MODE&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line243&amp;quot;&amp;gt;243.  		if (discover) {&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line244&amp;quot;&amp;gt;244.  			You(&amp;quot;are in non-scoring discovery mode.&amp;quot;);&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line245&amp;quot;&amp;gt;245.  			pline(&amp;quot;Do you want to keep the save file? &amp;quot;);&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line246&amp;quot;&amp;gt;246.  			if(yn() == 'n')&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line247&amp;quot;&amp;gt;247.  				(void) unlink(SAVEF);&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line248&amp;quot;&amp;gt;248.  		}&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line249&amp;quot;&amp;gt;249.  #endif&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line250&amp;quot;&amp;gt;250.  		flags.move = 0;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line251&amp;quot;&amp;gt;251.  	} else {&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line252&amp;quot;&amp;gt;252.  not_recovered:&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line253&amp;quot;&amp;gt;253.  		newgame();&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line254&amp;quot;&amp;gt;254.  		/* give welcome message before pickup messages */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line255&amp;quot;&amp;gt;255.  		pline(&amp;quot;Hello %s, welcome to NetHack!&amp;quot;, plname);&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line256&amp;quot;&amp;gt;256.  #ifdef EXPLORE_MODE&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line257&amp;quot;&amp;gt;257.  		if (discover)&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line258&amp;quot;&amp;gt;258.  			You(&amp;quot;are in non-scoring discovery mode.&amp;quot;);&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line259&amp;quot;&amp;gt;259.  #endif&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line260&amp;quot;&amp;gt;260.  		flags.move = 0;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line261&amp;quot;&amp;gt;261.  		set_wear();&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line262&amp;quot;&amp;gt;262.  		pickup(1);&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line263&amp;quot;&amp;gt;263.  		read_engr_at(u.ux,u.uy);&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line264&amp;quot;&amp;gt;264.  	}&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line265&amp;quot;&amp;gt;265.  &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line266&amp;quot;&amp;gt;266.  	flags.moonphase = phase_of_the_moon();&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line267&amp;quot;&amp;gt;267.  	if(flags.moonphase == FULL_MOON) {&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line268&amp;quot;&amp;gt;268.  		You(&amp;quot;are lucky!  Full moon tonight.&amp;quot;);&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line269&amp;quot;&amp;gt;269.  		if(!u.uluck) change_luck(1);&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line270&amp;quot;&amp;gt;270.  	} else if(flags.moonphase == NEW_MOON) {&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line271&amp;quot;&amp;gt;271.  		pline(&amp;quot;Be careful!  New moon tonight.&amp;quot;);&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line272&amp;quot;&amp;gt;272.  	}&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line273&amp;quot;&amp;gt;273.  &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line274&amp;quot;&amp;gt;274.  	initrack();&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line275&amp;quot;&amp;gt;275.  &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line276&amp;quot;&amp;gt;276.  	for(;;) {&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line277&amp;quot;&amp;gt;277.  		if(flags.move) {	/* actual time passed */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line278&amp;quot;&amp;gt;278.  &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line279&amp;quot;&amp;gt;279.  #ifdef SOUNDS&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line280&amp;quot;&amp;gt;280.  			dosounds();&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line281&amp;quot;&amp;gt;281.  #endif&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line282&amp;quot;&amp;gt;282.  			settrack();&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line283&amp;quot;&amp;gt;283.  &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line284&amp;quot;&amp;gt;284.  			if(moves%2 == 0 ||&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line285&amp;quot;&amp;gt;285.  			  (!(Fast &amp;amp; ~INTRINSIC) &amp;amp;&amp;amp; (!Fast || rn2(3)))) {&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line286&amp;quot;&amp;gt;286.  				movemon();&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line287&amp;quot;&amp;gt;287.  #ifdef HARD&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line288&amp;quot;&amp;gt;288.  				if(!rn2(u.udemigod?25:(dlevel&amp;gt;30)?50:70))&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line289&amp;quot;&amp;gt;289.  #else&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line290&amp;quot;&amp;gt;290.  				if(!rn2(70))&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line291&amp;quot;&amp;gt;291.  #endif&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line292&amp;quot;&amp;gt;292.  				    (void) makemon((struct permonst *)0, 0, 0);&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line293&amp;quot;&amp;gt;293.  			}&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line294&amp;quot;&amp;gt;294.  			if(Glib) glibr();&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line295&amp;quot;&amp;gt;295.  			timeout();&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line296&amp;quot;&amp;gt;296.  			++moves;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line297&amp;quot;&amp;gt;297.  #ifdef THEOLOGY&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line298&amp;quot;&amp;gt;298.  			if (u.ublesscnt)  u.ublesscnt--;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line299&amp;quot;&amp;gt;299.  #endif&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line300&amp;quot;&amp;gt;300.  			if(flags.time) flags.botl = 1;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line301&amp;quot;&amp;gt;301.  #ifdef POLYSELF&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line302&amp;quot;&amp;gt;302.  			if(u.mtimedone)&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line303&amp;quot;&amp;gt;303.  			    if(u.mh &amp;lt; 1) rehumanize();&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line304&amp;quot;&amp;gt;304.  			else&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line305&amp;quot;&amp;gt;305.  #endif&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line306&amp;quot;&amp;gt;306.  			    if(u.uhp &amp;lt; 1) {&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line307&amp;quot;&amp;gt;307.  				You(&amp;quot;die...&amp;quot;);&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line308&amp;quot;&amp;gt;308.  				done(&amp;quot;died&amp;quot;);&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line309&amp;quot;&amp;gt;309.  			    }&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line310&amp;quot;&amp;gt;310.  #ifdef POLYSELF&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line311&amp;quot;&amp;gt;311.  			if (u.mtimedone) {&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line312&amp;quot;&amp;gt;312.  			    if (u.mh &amp;lt; u.mhmax) {&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line313&amp;quot;&amp;gt;313.  				if (Regeneration || !(moves%20)) {&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line314&amp;quot;&amp;gt;314.  					flags.botl = 1;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line315&amp;quot;&amp;gt;315.  					u.mh++;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line316&amp;quot;&amp;gt;316.  				}&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line317&amp;quot;&amp;gt;317.  			    }&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line318&amp;quot;&amp;gt;318.  			}&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line319&amp;quot;&amp;gt;319.  #endif&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line320&amp;quot;&amp;gt;320.  			if(u.uhp &amp;lt; u.uhpmax) {&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line321&amp;quot;&amp;gt;321.  				if(u.ulevel &amp;gt; 9) {&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line322&amp;quot;&amp;gt;322.  				    int heal;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line323&amp;quot;&amp;gt;323.  &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line324&amp;quot;&amp;gt;324.  				    if(HRegeneration || !(moves%3)) {&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line325&amp;quot;&amp;gt;325.  					flags.botl = 1;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line326&amp;quot;&amp;gt;326.  					if (ACURR(A_CON) &amp;lt;= 12) heal = 1;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line327&amp;quot;&amp;gt;327.  					else heal = rnd((int) ACURR(A_CON)-12);&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line328&amp;quot;&amp;gt;328.  					if (heal &amp;gt; u.ulevel-9) heal = u.ulevel-9;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line329&amp;quot;&amp;gt;329.  					u.uhp += heal;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line330&amp;quot;&amp;gt;330.  					if(u.uhp &amp;gt; u.uhpmax)&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line331&amp;quot;&amp;gt;331.  					    u.uhp = u.uhpmax;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line332&amp;quot;&amp;gt;332.  				    }&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line333&amp;quot;&amp;gt;333.  				} else if(HRegeneration ||&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line334&amp;quot;&amp;gt;334.  				      (!(moves%((MAXULEV+12)/(u.ulevel+2)+1)))) {&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line335&amp;quot;&amp;gt;335.  					flags.botl = 1;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line336&amp;quot;&amp;gt;336.  					u.uhp++;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line337&amp;quot;&amp;gt;337.  				}&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line338&amp;quot;&amp;gt;338.  			}&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line339&amp;quot;&amp;gt;339.  #ifdef SPELLS&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line340&amp;quot;&amp;gt;340.  			if ((u.uen&amp;lt;u.uenmax) &amp;amp;&amp;amp; (!(moves%(19-ACURR(A_INT)/2)))) {&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line341&amp;quot;&amp;gt;341.  				u.uen += rn2((int)ACURR(A_WIS)/5 + 1) + 1;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line342&amp;quot;&amp;gt;342.  				if (u.uen &amp;gt; u.uenmax)  u.uen = u.uenmax;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line343&amp;quot;&amp;gt;343.  				flags.botl = 1;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line344&amp;quot;&amp;gt;344.  			}&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line345&amp;quot;&amp;gt;345.  #endif&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line346&amp;quot;&amp;gt;346.  			if(Teleportation &amp;amp;&amp;amp; !rn2(85)) tele();&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line347&amp;quot;&amp;gt;347.  #ifdef POLYSELF&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line348&amp;quot;&amp;gt;348.  			if(Polymorph &amp;amp;&amp;amp; !rn2(100)) polyself();&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line349&amp;quot;&amp;gt;349.  			if(u.ulycn &amp;gt;= 0 &amp;amp;&amp;amp; !rn2(80 - (20 * night())))&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line350&amp;quot;&amp;gt;350.  				you_were();&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line351&amp;quot;&amp;gt;351.  #endif&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line352&amp;quot;&amp;gt;352.  			if(Searching &amp;amp;&amp;amp; multi &amp;gt;= 0) (void) dosearch0(1);&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line353&amp;quot;&amp;gt;353.  			hatch_eggs();&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line354&amp;quot;&amp;gt;354.  			gethungry();&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line355&amp;quot;&amp;gt;355.  			invault();&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line356&amp;quot;&amp;gt;356.  			amulet();&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line357&amp;quot;&amp;gt;357.  #ifdef HARD&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line358&amp;quot;&amp;gt;358.  			if (!rn2(40+(int)(ACURR(A_DEX)*3))) u_wipe_engr(rnd(3));&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line359&amp;quot;&amp;gt;359.  			if (u.udemigod) {&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line360&amp;quot;&amp;gt;360.  &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line361&amp;quot;&amp;gt;361.  				if(u.udg_cnt) u.udg_cnt--;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line362&amp;quot;&amp;gt;362.  				if(!u.udg_cnt) {&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line363&amp;quot;&amp;gt;363.  &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line364&amp;quot;&amp;gt;364.  					intervene();&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line365&amp;quot;&amp;gt;365.  					u.udg_cnt = rn1(200, 50);&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line366&amp;quot;&amp;gt;366.  				}&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line367&amp;quot;&amp;gt;367.  			}&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line368&amp;quot;&amp;gt;368.  #endif&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line369&amp;quot;&amp;gt;369.  			restore_attrib();&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line370&amp;quot;&amp;gt;370.  		}&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line371&amp;quot;&amp;gt;371.  		if(multi &amp;lt; 0) {&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line372&amp;quot;&amp;gt;372.  			if(!++multi){&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line373&amp;quot;&amp;gt;373.  				pline(nomovemsg ? nomovemsg :&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line374&amp;quot;&amp;gt;374.  					&amp;quot;You can move again.&amp;quot;);&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line375&amp;quot;&amp;gt;375.  				nomovemsg = 0;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line376&amp;quot;&amp;gt;376.  				if(afternmv) (*afternmv)();&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line377&amp;quot;&amp;gt;377.  				afternmv = 0;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line378&amp;quot;&amp;gt;378.  			}&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line379&amp;quot;&amp;gt;379.  		}&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line380&amp;quot;&amp;gt;380.  &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line381&amp;quot;&amp;gt;381.  		find_ac();&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line382&amp;quot;&amp;gt;382.  		if(!flags.mv || Blind)&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line383&amp;quot;&amp;gt;383.  		{&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line384&amp;quot;&amp;gt;384.  			seeobjs();&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line385&amp;quot;&amp;gt;385.  			seemons();&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line386&amp;quot;&amp;gt;386.  			seeglds();&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line387&amp;quot;&amp;gt;387.  			nscr();&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line388&amp;quot;&amp;gt;388.  		}&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line389&amp;quot;&amp;gt;389.  		if(flags.botl || flags.botlx) bot();&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line390&amp;quot;&amp;gt;390.  &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line391&amp;quot;&amp;gt;391.  		flags.move = 1;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line392&amp;quot;&amp;gt;392.  &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line393&amp;quot;&amp;gt;393.  		if(multi &amp;gt;= 0 &amp;amp;&amp;amp; occupation) {&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line394&amp;quot;&amp;gt;394.  &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line395&amp;quot;&amp;gt;395.  			if(monster_nearby())&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line396&amp;quot;&amp;gt;396.  				stop_occupation();&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line397&amp;quot;&amp;gt;397.  			else if ((*occupation)() == 0)&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line398&amp;quot;&amp;gt;398.  				occupation = 0;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line399&amp;quot;&amp;gt;399.  			continue;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line400&amp;quot;&amp;gt;400.  		}&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line401&amp;quot;&amp;gt;401.  &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line402&amp;quot;&amp;gt;402.  		if((u.uhave_amulet || Clairvoyant) &amp;amp;&amp;amp; &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line403&amp;quot;&amp;gt;403.  #ifdef ENDGAME&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line404&amp;quot;&amp;gt;404.  			dlevel != ENDLEVEL &amp;amp;&amp;amp;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line405&amp;quot;&amp;gt;405.  #endif&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line406&amp;quot;&amp;gt;406.  			!(moves%15) &amp;amp;&amp;amp; !rn2(2)) do_vicinity_map();&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line407&amp;quot;&amp;gt;407.  &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line408&amp;quot;&amp;gt;408.  		u.umoved = FALSE;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line409&amp;quot;&amp;gt;409.  		if(multi &amp;gt; 0) {&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line410&amp;quot;&amp;gt;410.  			lookaround();&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line411&amp;quot;&amp;gt;411.  			if(!multi) {	/* lookaround may clear multi */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line412&amp;quot;&amp;gt;412.  				flags.move = 0;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line413&amp;quot;&amp;gt;413.  				continue;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line414&amp;quot;&amp;gt;414.  			}&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line415&amp;quot;&amp;gt;415.  			if(flags.mv) {&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line416&amp;quot;&amp;gt;416.  				if(multi &amp;lt; COLNO &amp;amp;&amp;amp; !--multi)&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line417&amp;quot;&amp;gt;417.  					flags.mv = flags.run = 0;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line418&amp;quot;&amp;gt;418.  				domove();&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line419&amp;quot;&amp;gt;419.  			} else {&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line420&amp;quot;&amp;gt;420.  				--multi;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line421&amp;quot;&amp;gt;421.  				rhack(save_cm);&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line422&amp;quot;&amp;gt;422.  			}&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line423&amp;quot;&amp;gt;423.  		} else if(multi == 0) {&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line424&amp;quot;&amp;gt;424.  #ifdef MAIL&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line425&amp;quot;&amp;gt;425.  			ckmailstatus();&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line426&amp;quot;&amp;gt;426.  #endif&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line427&amp;quot;&amp;gt;427.  			rhack(NULL);&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line428&amp;quot;&amp;gt;428.  		}&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line429&amp;quot;&amp;gt;429.  		if(multi &amp;amp;&amp;amp; multi%7 == 0)&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line430&amp;quot;&amp;gt;430.  			(void) fflush(stdout);&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line431&amp;quot;&amp;gt;431.  	}&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line432&amp;quot;&amp;gt;432.  }&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line433&amp;quot;&amp;gt;433.  &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line434&amp;quot;&amp;gt;434.  void&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line435&amp;quot;&amp;gt;435.  glo(foo)&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line436&amp;quot;&amp;gt;436.  register int foo;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line437&amp;quot;&amp;gt;437.  {&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line438&amp;quot;&amp;gt;438.  	/* construct the string  xlock.n  */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line439&amp;quot;&amp;gt;439.  	register char *tf;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line440&amp;quot;&amp;gt;440.  &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line441&amp;quot;&amp;gt;441.  	tf = lock;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line442&amp;quot;&amp;gt;442.  	while(*tf &amp;amp;&amp;amp; *tf != '.') tf++;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line443&amp;quot;&amp;gt;443.  	Sprintf(tf, &amp;quot;.%d&amp;quot;, foo);&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line444&amp;quot;&amp;gt;444.  }&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line445&amp;quot;&amp;gt;445.  &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line446&amp;quot;&amp;gt;446.  /*&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line447&amp;quot;&amp;gt;447.   * plname is filled either by an option (-u Player  or  -uPlayer) or&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line448&amp;quot;&amp;gt;448.   * explicitly (by being the wizard) or by askname.&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line449&amp;quot;&amp;gt;449.   * It may still contain a suffix denoting pl_character.&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line450&amp;quot;&amp;gt;450.   */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line451&amp;quot;&amp;gt;451.  void&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line452&amp;quot;&amp;gt;452.  askname(){&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line453&amp;quot;&amp;gt;453.  register int c,ct;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line454&amp;quot;&amp;gt;454.  	Printf(&amp;quot;\nWho are you? &amp;quot;);&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line455&amp;quot;&amp;gt;455.  	(void) fflush(stdout);&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line456&amp;quot;&amp;gt;456.  	ct = 0;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line457&amp;quot;&amp;gt;457.  	while((c = Getchar()) != '\n'){&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line458&amp;quot;&amp;gt;458.  		if(c == EOF) error(&amp;quot;End of input\n&amp;quot;);&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line459&amp;quot;&amp;gt;459.  		/* some people get confused when their erase char is not ^H */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line460&amp;quot;&amp;gt;460.  		if(c == '\010') {&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line461&amp;quot;&amp;gt;461.  			if(ct) ct--;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line462&amp;quot;&amp;gt;462.  			continue;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line463&amp;quot;&amp;gt;463.  		}&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line464&amp;quot;&amp;gt;464.  		if(c != '-')&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line465&amp;quot;&amp;gt;465.  		if(c &amp;lt; 'A' || (c &amp;gt; 'Z' &amp;amp;&amp;amp; c &amp;lt; 'a') || c &amp;gt; 'z') c = '_';&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line466&amp;quot;&amp;gt;466.  		if(ct &amp;lt; sizeof(plname)-1) plname[ct++] = c;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line467&amp;quot;&amp;gt;467.  	}&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line468&amp;quot;&amp;gt;468.  	plname[ct] = 0;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line469&amp;quot;&amp;gt;469.  	if(ct == 0) askname();&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line470&amp;quot;&amp;gt;470.  }&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line471&amp;quot;&amp;gt;471.  &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line472&amp;quot;&amp;gt;472.  /*VARARGS1*/&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line473&amp;quot;&amp;gt;473.  void&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line474&amp;quot;&amp;gt;474.  impossible(s,x1,x2)&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line475&amp;quot;&amp;gt;475.  register char *s, *x1, *x2;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line476&amp;quot;&amp;gt;476.  {&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line477&amp;quot;&amp;gt;477.  	pline(s,x1,x2);&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line478&amp;quot;&amp;gt;478.  	pline(&amp;quot;Program in disorder - perhaps you'd better Quit.&amp;quot;);&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line479&amp;quot;&amp;gt;479.  }&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line480&amp;quot;&amp;gt;480.  &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line481&amp;quot;&amp;gt;481.  #ifdef CHDIR&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line482&amp;quot;&amp;gt;482.  static void&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line483&amp;quot;&amp;gt;483.  chdirx(dir, wr)&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line484&amp;quot;&amp;gt;484.  char *dir;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line485&amp;quot;&amp;gt;485.  boolean wr;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line486&amp;quot;&amp;gt;486.  {&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line487&amp;quot;&amp;gt;487.  &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line488&amp;quot;&amp;gt;488.  # ifdef SECURE&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line489&amp;quot;&amp;gt;489.  	if(dir					/* User specified directory? */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line490&amp;quot;&amp;gt;490.  #  ifdef HACKDIR&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line491&amp;quot;&amp;gt;491.  	       &amp;amp;&amp;amp; strcmp(dir, HACKDIR)		/* and not the default? */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line492&amp;quot;&amp;gt;492.  #  endif&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line493&amp;quot;&amp;gt;493.  		) {&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line494&amp;quot;&amp;gt;494.  		(void) setgid(getgid());&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line495&amp;quot;&amp;gt;495.  		(void) setuid(getuid());		/* Ron Wessels */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line496&amp;quot;&amp;gt;496.  	}&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line497&amp;quot;&amp;gt;497.  # endif&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line498&amp;quot;&amp;gt;498.  &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line499&amp;quot;&amp;gt;499.  # ifdef HACKDIR&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line500&amp;quot;&amp;gt;500.  	if(dir == NULL)&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line501&amp;quot;&amp;gt;501.  		dir = HACKDIR;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line502&amp;quot;&amp;gt;502.  # endif&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line503&amp;quot;&amp;gt;503.  &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line504&amp;quot;&amp;gt;504.  	if(dir &amp;amp;&amp;amp; chdir(dir) &amp;lt; 0) {&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line505&amp;quot;&amp;gt;505.  		perror(dir);&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line506&amp;quot;&amp;gt;506.  		error(&amp;quot;Cannot chdir to %s.&amp;quot;, dir);&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line507&amp;quot;&amp;gt;507.  	}&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line508&amp;quot;&amp;gt;508.  &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line509&amp;quot;&amp;gt;509.  	/* warn the player if he cannot write the record file */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line510&amp;quot;&amp;gt;510.  	/* perhaps we should also test whether . is writable */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line511&amp;quot;&amp;gt;511.  	/* unfortunately the access systemcall is worthless */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line512&amp;quot;&amp;gt;512.  	if(wr) {&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line513&amp;quot;&amp;gt;513.  	    register int fd;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line514&amp;quot;&amp;gt;514.  &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line515&amp;quot;&amp;gt;515.  	    if(dir == NULL)&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line516&amp;quot;&amp;gt;516.  		dir = &amp;quot;.&amp;quot;;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line517&amp;quot;&amp;gt;517.  	    if((fd = open(RECORD, 2)) &amp;lt; 0) {&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line518&amp;quot;&amp;gt;518.  		Printf(&amp;quot;Warning: cannot write %s/%s&amp;quot;, dir, RECORD);&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line519&amp;quot;&amp;gt;519.  		getret();&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line520&amp;quot;&amp;gt;520.  	    } else&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line521&amp;quot;&amp;gt;521.  		(void) close(fd);&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line522&amp;quot;&amp;gt;522.  	}&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line523&amp;quot;&amp;gt;523.  }&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line524&amp;quot;&amp;gt;524.  #endif /* CHDIR /**/&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line525&amp;quot;&amp;gt;525.  &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line526&amp;quot;&amp;gt;526.  void&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line527&amp;quot;&amp;gt;527.  stop_occupation()&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line528&amp;quot;&amp;gt;528.  {&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line529&amp;quot;&amp;gt;529.  	if(occupation) {&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line530&amp;quot;&amp;gt;530.  		You(&amp;quot;stop %s.&amp;quot;, occtxt);&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line531&amp;quot;&amp;gt;531.  		occupation = 0;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line532&amp;quot;&amp;gt;532.  #ifdef REDO&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line533&amp;quot;&amp;gt;533.  		multi = 0;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line534&amp;quot;&amp;gt;534.  		pushch(0);		&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line535&amp;quot;&amp;gt;535.  #endif&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line536&amp;quot;&amp;gt;536.  	}&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line537&amp;quot;&amp;gt;537.  }&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line538&amp;quot;&amp;gt;538.  &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line539&amp;quot;&amp;gt;539.  static void&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line540&amp;quot;&amp;gt;540.  whoami() {&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line541&amp;quot;&amp;gt;541.  	/*&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line542&amp;quot;&amp;gt;542.  	 * Who am i? Algorithm: 1. Use name as specified in NETHACKOPTIONS&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line543&amp;quot;&amp;gt;543.  	 *			2. Use $USER or $LOGNAME	(if 1. fails)&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line544&amp;quot;&amp;gt;544.  	 *			3. Use getlogin()		(if 2. fails)&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line545&amp;quot;&amp;gt;545.  	 * The resulting name is overridden by command line options.&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line546&amp;quot;&amp;gt;546.  	 * If everything fails, or if the resulting name is some generic&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line547&amp;quot;&amp;gt;547.  	 * account like &amp;quot;games&amp;quot;, &amp;quot;play&amp;quot;, &amp;quot;player&amp;quot;, &amp;quot;hack&amp;quot; then eventually&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line548&amp;quot;&amp;gt;548.  	 * we'll ask him.&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line549&amp;quot;&amp;gt;549.  	 * Note that we trust him here; it is possible to play under&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line550&amp;quot;&amp;gt;550.  	 * somebody else's name.&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line551&amp;quot;&amp;gt;551.  	 */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line552&amp;quot;&amp;gt;552.  	register char *s;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line553&amp;quot;&amp;gt;553.  &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line554&amp;quot;&amp;gt;554.  	if(!*plname &amp;amp;&amp;amp; (s = getenv(&amp;quot;USER&amp;quot;)))&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line555&amp;quot;&amp;gt;555.  		(void) strncpy(plname, s, sizeof(plname)-1);&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line556&amp;quot;&amp;gt;556.  	if(!*plname &amp;amp;&amp;amp; (s = getenv(&amp;quot;LOGNAME&amp;quot;)))&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line557&amp;quot;&amp;gt;557.  		(void) strncpy(plname, s, sizeof(plname)-1);&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line558&amp;quot;&amp;gt;558.  	if(!*plname &amp;amp;&amp;amp; (s = getlogin()))&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line559&amp;quot;&amp;gt;559.  		(void) strncpy(plname, s, sizeof(plname)-1);&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line560&amp;quot;&amp;gt;560.  }&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line561&amp;quot;&amp;gt;561.  &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line562&amp;quot;&amp;gt;562.  static void&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line563&amp;quot;&amp;gt;563.  newgame() {&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line564&amp;quot;&amp;gt;564.  	fobj = fcobj = invent = 0;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line565&amp;quot;&amp;gt;565.  	fmon = fallen_down = 0;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line566&amp;quot;&amp;gt;566.  	ftrap = 0;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line567&amp;quot;&amp;gt;567.  	fgold = 0;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line568&amp;quot;&amp;gt;568.  	flags.ident = 1;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line569&amp;quot;&amp;gt;569.  &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line570&amp;quot;&amp;gt;570.  	init_objects();&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line571&amp;quot;&amp;gt;571.  	u_init();&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line572&amp;quot;&amp;gt;572.  &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line573&amp;quot;&amp;gt;573.  	(void) signal(SIGINT, (SIG_RET_TYPE) done1);&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line574&amp;quot;&amp;gt;574.  &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line575&amp;quot;&amp;gt;575.  	mklev();&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line576&amp;quot;&amp;gt;576.  	u.ux = xupstair;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line577&amp;quot;&amp;gt;577.  	u.uy = yupstair;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line578&amp;quot;&amp;gt;578.  	(void) inshop();&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line579&amp;quot;&amp;gt;579.  &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line580&amp;quot;&amp;gt;580.  	setsee();&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line581&amp;quot;&amp;gt;581.  	flags.botlx = 1;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line582&amp;quot;&amp;gt;582.  &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line583&amp;quot;&amp;gt;583.  	/* Move the monster from under you or else&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line584&amp;quot;&amp;gt;584.  	 * makedog() will fail when it calls makemon().&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line585&amp;quot;&amp;gt;585.  	 * 			- ucsfcgl!kneller&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line586&amp;quot;&amp;gt;586.  	 */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line587&amp;quot;&amp;gt;587.  	if(levl[u.ux][u.uy].mmask) mnexto(m_at(u.ux, u.uy));&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line588&amp;quot;&amp;gt;588.  &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line589&amp;quot;&amp;gt;589.  	(void) makedog();&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line590&amp;quot;&amp;gt;590.  	seemons();&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line591&amp;quot;&amp;gt;591.  #ifdef NEWS&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line592&amp;quot;&amp;gt;592.  	if(flags.nonews || !readnews())&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line593&amp;quot;&amp;gt;593.  		/* after reading news we did docrt() already */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line594&amp;quot;&amp;gt;594.  #endif&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line595&amp;quot;&amp;gt;595.  		docrt();&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line596&amp;quot;&amp;gt;596.  &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line597&amp;quot;&amp;gt;597.  	return;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line598&amp;quot;&amp;gt;598.  }&amp;lt;/span&amp;gt;&lt;br /&gt;
[[Category:NetHack 3.0.0 source code|unixmain.c]]&lt;/div&gt;</summary>
		<author><name>Jaytbot</name></author>
		
	</entry>
</feed>