<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<meta http-equiv="Content-Style-Type" content="text/css"/>
<meta name="Generator" content="src2html"/>
<link rel="stylesheet" type="text/css" href="../../../../.misc/src2html.css"/>
<title>2.11BSD#431 - /usr/src/ucb/Mail/aux.c</title>
</head><body>
<div class="cuser">
<div id="head">
<h1>
2.11BSD#431 - <a href="../../../../index.html">/</a><a href="../../../../usr.1.html">usr</a>/<a href="../../../src.1.html">src</a>/<a href="../../ucb.1.html">ucb</a>/<a href="../Mail.1.html">Mail</a>/<a href="aux.c">aux.c</a></h1>
</div>
<div id="navi">
<h5>Functions</h5>
<pre>
<span class="navo"><a href="aux.c.html#s:_alter" title="line 318">alter</a>             <span class="navx"><a href="aux.c.html#xref:s:_alter" title="to xref">X</a></span></span>
<span class="nave"><a href="aux.c.html#s:_anyof" title="line 583">anyof</a>             <span class="navx"><a href="aux.c.html#xref:s:_anyof" title="to xref">X</a></span></span>
<span class="navo"><a href="aux.c.html#s:_argcount" title="line 109">argcount</a>          <span class="navx"><a href="aux.c.html#xref:s:_argcount" title="to xref">X</a></span></span>
<span class="nave"><a href="aux.c.html#s:_blankline" title="line 337">blankline</a>         <span class="navx"><a href="aux.c.html#xref:s:_blankline" title="to xref">X</a></span></span>
<span class="navo"><a href="aux.c.html#s:_charcount" title="line 568">charcount</a>         <span class="navx"><a href="aux.c.html#xref:s:_charcount" title="to xref">X</a></span></span>
<span class="nave"><a href="aux.c.html#s:_copy" title="line 608">copy</a>              <span class="navx"><a href="aux.c.html#xref:s:_copy" title="to xref">X</a></span></span>
<span class="navo"><a href="aux.c.html#s:_gethfield" title="line 154">gethfield</a>         <span class="navx"><a href="aux.c.html#xref:s:_gethfield" title="to xref">X</a></span></span>
<span class="nave"><a href="aux.c.html#s:_hfield" title="line 123">hfield</a>            <span class="navx"><a href="aux.c.html#xref:s:_hfield" title="to xref">X</a></span></span>
<span class="navo"><a href="aux.c.html#s:_isdir" title="line 96">isdir</a>             <span class="navx"><a href="aux.c.html#xref:s:_isdir" title="to xref">X</a></span></span>
<span class="nave"><a href="aux.c.html#s:_ishfield" title="line 212">ishfield</a>          <span class="navx"><a href="aux.c.html#xref:s:_ishfield" title="to xref">X</a></span></span>
<span class="navo"><a href="aux.c.html#s:_isign" title="line 621">isign</a>             <span class="navx"><a href="aux.c.html#xref:s:_isign" title="to xref">X</a></span></span>
<span class="nave"><a href="aux.c.html#s:_istrcpy" title="line 233">istrcpy</a>           <span class="navx"><a href="aux.c.html#xref:s:_istrcpy" title="to xref">X</a></span></span>
<span class="navo"><a href="aux.c.html#s:_member" title="line 640">member</a>            <span class="navx"><a href="aux.c.html#xref:s:_member" title="to xref">X</a></span></span>
<span class="nave"><a href="aux.c.html#s:_name1" title="line 510">name1</a>             <span class="navx"><a href="aux.c.html#xref:s:_name1" title="to xref">X</a></span></span>
<span class="navo"><a href="aux.c.html#s:_nameof" title="line 353">nameof</a>            <span class="navx"><a href="aux.c.html#xref:s:_nameof" title="to xref">X</a></span></span>
<span class="nave"><a href="aux.c.html#s:_panic" title="line 68">panic</a>             <span class="navx"><a href="aux.c.html#xref:s:_panic" title="to xref">X</a></span></span>
<span class="navo"><a href="aux.c.html#s:_raise" title="line 596">raise</a>             <span class="navx"><a href="aux.c.html#xref:s:_raise" title="to xref">X</a></span></span>
<span class="nave"><a href="aux.c.html#s:_savestr" title="line 51">savestr</a>           <span class="navx"><a href="aux.c.html#xref:s:_savestr" title="to xref">X</a></span></span>
<span class="navo"><a href="aux.c.html#s:_skin" title="line 402">skin</a>              <span class="navx"><a href="aux.c.html#xref:s:_skin" title="to xref">X</a></span></span>
<span class="nave"><a href="aux.c.html#s:_skip_comment" title="line 375">skip_comment</a>      <span class="navx"><a href="aux.c.html#xref:s:_skip_comment" title="to xref">X</a></span></span>
<span class="navo"><a href="aux.c.html#s:_source" title="line 263">source</a>            <span class="navx"><a href="aux.c.html#xref:s:_source" title="to xref">X</a></span></span>
<span class="nave"><a href="aux.c.html#s:_touch" title="line 83">touch</a>             <span class="navx"><a href="aux.c.html#xref:s:_touch" title="to xref">X</a></span></span>
<span class="navo"><a href="aux.c.html#s:_unstack" title="line 295">unstack</a>           <span class="navx"><a href="aux.c.html#xref:s:_unstack" title="to xref">X</a></span></span>
</pre>
<h5>Variables</h5>
<pre>
<span class="navo"><a href="aux.c.html#s:_sstack" title="line 256">sstack</a>            <span class="navx"><a href="aux.c.html#xref:s:_sstack" title="to xref">X</a></span></span>
</pre>
<h5>struct's</h5>
<pre>
<span class="navo"><a href="aux.c.html#sd:sstack" title="line 252">sstack</a>            <span class="navx"><a href="aux.c.html#xref:sd:sstack" title="to xref">X</a></span></span>
</pre>
</div>
<div id="body">
<div id="code">
<pre>
<span class="cuser"><i id="n:1">   1</i>:</span> <span class="scom">/*</span>
<span class="cuser"><i id="n:2">   2</i>:</span> <span class="scom"> * Copyright (c) 1980 Regents of the University of California.</span>
<span class="cuser"><i id="n:3">   3</i>:</span> <span class="scom"> * All rights reserved.</span>
<span class="cuser"><i id="n:4">   4</i>:</span> <span class="scom"> *</span>
<span class="cuser"><i id="n:5">   5</i>:</span> <span class="scom"> * Redistribution and use in source and binary forms, with or without</span>
<span class="cuser"><i id="n:6">   6</i>:</span> <span class="scom"> * modification, are permitted provided that the following conditions</span>
<span class="cuser"><i id="n:7">   7</i>:</span> <span class="scom"> * are met:</span>
<span class="cuser"><i id="n:8">   8</i>:</span> <span class="scom"> * 1. Redistributions of source code must retain the above copyright</span>
<span class="cuser"><i id="n:9">   9</i>:</span> <span class="scom"> *    notice, this list of conditions and the following disclaimer.</span>
<span class="cuser"><i id="n:10">  10</i>:</span> <span class="scom"> * 2. Redistributions in binary form must reproduce the above copyright</span>
<span class="cuser"><i id="n:11">  11</i>:</span> <span class="scom"> *    notice, this list of conditions and the following disclaimer in the</span>
<span class="cuser"><i id="n:12">  12</i>:</span> <span class="scom"> *    documentation and/or other materials provided with the distribution.</span>
<span class="cuser"><i id="n:13">  13</i>:</span> <span class="scom"> * 3. All advertising materials mentioning features or use of this software</span>
<span class="cuser"><i id="n:14">  14</i>:</span> <span class="scom"> *    must display the following acknowledgement:</span>
<span class="cuser"><i id="n:15">  15</i>:</span> <span class="scom"> *	This product includes software developed by the University of</span>
<span class="cuser"><i id="n:16">  16</i>:</span> <span class="scom"> *	California, Berkeley and its contributors.</span>
<span class="cuser"><i id="n:17">  17</i>:</span> <span class="scom"> * 4. Neither the name of the University nor the names of its contributors</span>
<span class="cuser"><i id="n:18">  18</i>:</span> <span class="scom"> *    may be used to endorse or promote products derived from this software</span>
<span class="cuser"><i id="n:19">  19</i>:</span> <span class="scom"> *    without specific prior written permission.</span>
<span class="cuser"><i id="n:20">  20</i>:</span> <span class="scom"> *</span>
<span class="cuser"><i id="n:21">  21</i>:</span> <span class="scom"> * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND</span>
<span class="cuser"><i id="n:22">  22</i>:</span> <span class="scom"> * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span>
<span class="cuser"><i id="n:23">  23</i>:</span> <span class="scom"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span>
<span class="cuser"><i id="n:24">  24</i>:</span> <span class="scom"> * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE</span>
<span class="cuser"><i id="n:25">  25</i>:</span> <span class="scom"> * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL</span>
<span class="cuser"><i id="n:26">  26</i>:</span> <span class="scom"> * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS</span>
<span class="cuser"><i id="n:27">  27</i>:</span> <span class="scom"> * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)</span>
<span class="cuser"><i id="n:28">  28</i>:</span> <span class="scom"> * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT</span>
<span class="cuser"><i id="n:29">  29</i>:</span> <span class="scom"> * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY</span>
<span class="cuser"><i id="n:30">  30</i>:</span> <span class="scom"> * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF</span>
<span class="cuser"><i id="n:31">  31</i>:</span> <span class="scom"> * SUCH DAMAGE.</span>
<span class="cuser"><i id="n:32">  32</i>:</span> <span class="scom"> */</span>
<span class="cuser"><i id="n:33">  33</i>:</span> 
<span class="cuser"><i id="n:34">  34</i>:</span> <a href="aux.c.html#n:36" title="to line 36">#if</a> !<span class="skey">defined</span>(lint) &amp;&amp; <span class="skey">defined</span>(DOSCCS)
<span class="cuser"><i id="n:35">  35</i>:</span> <span class="skey">static </span><span class="styp">char </span><a href="aux.c.html#xref:s:_sccsid" id="s:_sccsid">sccsid</a>[] = <span class="sstr">"@(#)aux.c	5.20 (Berkeley) 6/25/90"</span>;
<span class="cuser"><i id="n:36">  36</i>:</span> <a href="aux.c.html#n:34" title="from line 34">#endif</a>
<span class="cuser"><i id="n:37">  37</i>:</span> 
<span class="cuser"><i id="n:38">  38</i>:</span> #include <a href="rcv.h.html" title="/usr/src/ucb/Mail/rcv.h" class="sstr">"rcv.h"</a>
<span class="cuser"><i id="n:39">  39</i>:</span> #include <a href="../../sys/h/stat.h.html" title="/usr/src/sys/h/stat.h" class="sstr">&lt;sys/stat.h&gt;</a>
<span class="cuser"><i id="n:40">  40</i>:</span> #include <a href="../../sys/h/time.h.html" title="/usr/src/sys/h/time.h" class="sstr">&lt;sys/time.h&gt;</a>
<span class="cuser"><i id="n:41">  41</i>:</span> 
<span class="cuser"><i id="n:42">  42</i>:</span> <span class="scom">/*</span>
<span class="cuser"><i id="n:43">  43</i>:</span> <span class="scom"> * Mail -- a mail program</span>
<span class="cuser"><i id="n:44">  44</i>:</span> <span class="scom"> *</span>
<span class="cuser"><i id="n:45">  45</i>:</span> <span class="scom"> * Auxiliary functions.</span>
<span class="cuser"><i id="n:46">  46</i>:</span> <span class="scom"> */</span>
<span class="cuser"><i id="n:47">  47</i>:</span> 
<span class="cuser"><i id="n:48">  48</i>:</span> <span class="scom">/*</span>
<span class="cuser"><i id="n:49">  49</i>:</span> <span class="scom"> * Return a pointer to a dynamic copy of the argument.</span>
<span class="cuser"><i id="n:50">  50</i>:</span> <span class="scom"> */</span>
<span class="cuser"><i id="n:51">  51</i>:</span> <span id="s:_savestr" class="styp">char</span> *
<span class="cuser"><i id="n:52">  52</i>:</span> <a href="aux.c.html#xref:s:_savestr">savestr</a>(str)
<span class="cuser"><i id="n:53">  53</i>:</span>     <span class="styp">char </span>*str;
<span class="cuser"><i id="n:54">  54</i>:</span> <a href="aux.c.html#n:61" title="to line 61">{</a>
<span class="cuser"><i id="n:55">  55</i>:</span>     <span class="styp">char </span>*new;
<span class="cuser"><i id="n:56">  56</i>:</span>     <span class="styp">int </span>size = <a href="../../lib/libc/pdp/gen/strlen.s.html#s:_strlen">strlen</a>(str) + <span class="snum">1</span>;
<span class="cuser"><i id="n:57">  57</i>:</span> 
<span class="cuser"><i id="n:58">  58</i>:</span>     <span class="skey">if </span>((new = <a href="strings.c.html#s:_salloc">salloc</a>(size)) != <a href="def.h.html#m:NOSTR" title="defined: ((char *) 0)">NOSTR</a>)
<span class="cuser"><i id="n:59">  59</i>:</span>         <a href="../../lib/libc/pdp/gen/bcopy.s.html#s:_bcopy">bcopy</a>(str, new, size);
<span class="cuser"><i id="n:60">  60</i>:</span>     <span class="skey">return </span>new;
<span class="cuser"><i id="n:61">  61</i>:</span> <a href="aux.c.html#n:54" title="from line 54">}</a>
<span class="cuser"><i id="n:62">  62</i>:</span> 
<span class="cuser"><i id="n:63">  63</i>:</span> <span class="scom">/*</span>
<span class="cuser"><i id="n:64">  64</i>:</span> <span class="scom"> * Announce a fatal error and die.</span>
<span class="cuser"><i id="n:65">  65</i>:</span> <span class="scom"> */</span>
<span class="cuser"><i id="n:66">  66</i>:</span> 
<span class="cuser"><i id="n:67">  67</i>:</span> <span class="scom">/*VARARGS1*/</span>
<span class="cuser"><i id="n:68">  68</i>:</span> <a href="aux.c.html#xref:s:_panic" id="s:_panic">panic</a>(fmt, a, b)
<span class="cuser"><i id="n:69">  69</i>:</span>     <span class="styp">char </span>*fmt;
<span class="cuser"><i id="n:70">  70</i>:</span> <a href="aux.c.html#n:76" title="to line 76">{</a>
<span class="cuser"><i id="n:71">  71</i>:</span>     <a href="../../lib/libc/stdio/fprintf.c.html#s:_fprintf">fprintf</a>(<a href="../../../include/stdio.h.html#m:stderr" title="defined: (&amp;_iob[2])">stderr</a>, <span class="sstr">"panic: "</span>);
<span class="cuser"><i id="n:72">  72</i>:</span>     <a href="../../lib/libc/stdio/fprintf.c.html#s:_fprintf">fprintf</a>(<a href="../../../include/stdio.h.html#m:stderr" title="defined: (&amp;_iob[2])">stderr</a>, fmt, a, b);
<span class="cuser"><i id="n:73">  73</i>:</span>     <a href="../../../include/stdio.h.html#m:putc">putc</a>(<span class="slit">'\n'</span>, <a href="../../../include/stdio.h.html#m:stderr" title="defined: (&amp;_iob[2])">stderr</a>);
<span class="cuser"><i id="n:74">  74</i>:</span>     <a href="../../lib/libc/stdio/flsbuf.c.html#s:_fflush">fflush</a>(<a href="../../../include/stdio.h.html#m:stdout" title="defined: (&amp;_iob[1])">stdout</a>);
<span class="cuser"><i id="n:75">  75</i>:</span>     <a href="../../lib/libc/gen/abort.c.html#s:_abort">abort</a>();
<span class="cuser"><i id="n:76">  76</i>:</span> <a href="aux.c.html#n:70" title="from line 70">}</a>
<span class="cuser"><i id="n:77">  77</i>:</span> 
<span class="cuser"><i id="n:78">  78</i>:</span> <span class="scom">/*</span>
<span class="cuser"><i id="n:79">  79</i>:</span> <span class="scom"> * Touch the named message by setting its MTOUCH flag.</span>
<span class="cuser"><i id="n:80">  80</i>:</span> <span class="scom"> * Touched messages have the effect of not being sent</span>
<span class="cuser"><i id="n:81">  81</i>:</span> <span class="scom"> * back to the system mailbox on exit.</span>
<span class="cuser"><i id="n:82">  82</i>:</span> <span class="scom"> */</span>
<span class="cuser"><i id="n:83">  83</i>:</span> <a href="aux.c.html#xref:s:_touch" id="s:_touch">touch</a>(mp)
<span class="cuser"><i id="n:84">  84</i>:</span>     <span class="skey">register struct </span><a href="def.h.html#sd:message" class="styp">message</a> *mp;
<span class="cuser"><i id="n:85">  85</i>:</span> <a href="aux.c.html#n:90" title="to line 90">{</a>
<span class="cuser"><i id="n:86">  86</i>:</span> 
<span class="cuser"><i id="n:87">  87</i>:</span>     mp-&gt;m_flag |= <a href="def.h.html#m:MTOUCH" title="defined: (1&lt;&lt;3)">MTOUCH</a>;
<span class="cuser"><i id="n:88">  88</i>:</span>     <span class="skey">if </span>((mp-&gt;m_flag &amp; <a href="def.h.html#m:MREAD" title="defined: (1&lt;&lt;8)">MREAD</a>) == <span class="snum">0</span>)
<span class="cuser"><i id="n:89">  89</i>:</span>         mp-&gt;m_flag |= <a href="def.h.html#m:MREAD" title="defined: (1&lt;&lt;8)">MREAD</a>|<a href="def.h.html#m:MSTATUS" title="defined: (1&lt;&lt;9)">MSTATUS</a>;
<span class="cuser"><i id="n:90">  90</i>:</span> <a href="aux.c.html#n:85" title="from line 85">}</a>
<span class="cuser"><i id="n:91">  91</i>:</span> 
<span class="cuser"><i id="n:92">  92</i>:</span> <span class="scom">/*</span>
<span class="cuser"><i id="n:93">  93</i>:</span> <span class="scom"> * Test to see if the passed file name is a directory.</span>
<span class="cuser"><i id="n:94">  94</i>:</span> <span class="scom"> * Return true if it is.</span>
<span class="cuser"><i id="n:95">  95</i>:</span> <span class="scom"> */</span>
<span class="cuser"><i id="n:96">  96</i>:</span> <a href="aux.c.html#xref:s:_isdir" id="s:_isdir">isdir</a>(name)
<span class="cuser"><i id="n:97">  97</i>:</span>     <span class="styp">char </span>name[];
<span class="cuser"><i id="n:98">  98</i>:</span> <a href="aux.c.html#n:104" title="to line 104">{</a>
<span class="cuser"><i id="n:99">  99</i>:</span>     <span class="skey">struct </span><a href="../../sys/h/stat.h.html#sd:stat" class="styp">stat</a> sbuf;
<span class="cuser"><i id="n:100"> 100</i>:</span> 
<span class="cuser"><i id="n:101"> 101</i>:</span>     <span class="skey">if </span>(<a href="../../lib/libc/pdp/sys/__stat.s.html#s:_stat">stat</a>(name, &amp;sbuf) &lt; <span class="snum">0</span>)
<span class="cuser"><i id="n:102"> 102</i>:</span>         <span class="skey">return</span>(<span class="snum">0</span>);
<span class="cuser"><i id="n:103"> 103</i>:</span>     <span class="skey">return</span>((sbuf.st_mode &amp; <a href="../../sys/h/stat.h.html#m:S_IFMT" title="defined: 0170000">S_IFMT</a>) == <a href="../../sys/h/stat.h.html#m:S_IFDIR" title="defined: 0040000">S_IFDIR</a>);
<span class="cuser"><i id="n:104"> 104</i>:</span> <a href="aux.c.html#n:98" title="from line 98">}</a>
<span class="cuser"><i id="n:105"> 105</i>:</span> 
<span class="cuser"><i id="n:106"> 106</i>:</span> <span class="scom">/*</span>
<span class="cuser"><i id="n:107"> 107</i>:</span> <span class="scom"> * Count the number of arguments in the given string raw list.</span>
<span class="cuser"><i id="n:108"> 108</i>:</span> <span class="scom"> */</span>
<span class="cuser"><i id="n:109"> 109</i>:</span> <a href="aux.c.html#xref:s:_argcount" id="s:_argcount">argcount</a>(argv)
<span class="cuser"><i id="n:110"> 110</i>:</span>     <span class="styp">char </span>**argv;
<span class="cuser"><i id="n:111"> 111</i>:</span> <a href="aux.c.html#n:117" title="to line 117">{</a>
<span class="cuser"><i id="n:112"> 112</i>:</span>     <span class="skey">register </span><span class="styp">char </span>**ap;
<span class="cuser"><i id="n:113"> 113</i>:</span> 
<span class="cuser"><i id="n:114"> 114</i>:</span>     <span class="skey">for </span>(ap = argv; *ap++ != <a href="def.h.html#m:NOSTR" title="defined: ((char *) 0)">NOSTR</a>;)
<span class="cuser"><i id="n:115"> 115</i>:</span>         ;
<span class="cuser"><i id="n:116"> 116</i>:</span>     <span class="skey">return </span>ap - argv - <span class="snum">1</span>;
<span class="cuser"><i id="n:117"> 117</i>:</span> <a href="aux.c.html#n:111" title="from line 111">}</a>
<span class="cuser"><i id="n:118"> 118</i>:</span> 
<span class="cuser"><i id="n:119"> 119</i>:</span> <span class="scom">/*</span>
<span class="cuser"><i id="n:120"> 120</i>:</span> <span class="scom"> * Return the desired header line from the passed message</span>
<span class="cuser"><i id="n:121"> 121</i>:</span> <span class="scom"> * pointer (or NOSTR if the desired header field is not available).</span>
<span class="cuser"><i id="n:122"> 122</i>:</span> <span class="scom"> */</span>
<span class="cuser"><i id="n:123"> 123</i>:</span> <span id="s:_hfield" class="styp">char</span> *
<span class="cuser"><i id="n:124"> 124</i>:</span> <a href="aux.c.html#xref:s:_hfield">hfield</a>(field, mp)
<span class="cuser"><i id="n:125"> 125</i>:</span>     <span class="styp">char </span>field[];
<span class="cuser"><i id="n:126"> 126</i>:</span>     <span class="skey">struct </span><a href="def.h.html#sd:message" class="styp">message</a> *mp;
<span class="cuser"><i id="n:127"> 127</i>:</span> <a href="aux.c.html#n:146" title="to line 146">{</a>
<span class="cuser"><i id="n:128"> 128</i>:</span>     <span class="skey">register </span><a href="../../../include/stdio.h.html#m:FILE" title="defined: struct _iobuf">FILE</a> *ibuf;
<span class="cuser"><i id="n:129"> 129</i>:</span>     <span class="styp">char </span>linebuf[<a href="def.h.html#m:LINESIZE" title="defined: BUFSIZ">LINESIZE</a>];
<span class="cuser"><i id="n:130"> 130</i>:</span>     <span class="skey">register </span><span class="styp">int </span>lc;
<span class="cuser"><i id="n:131"> 131</i>:</span>     <span class="skey">register </span><span class="styp">char </span>*<a href="aux.c.html#s:_hfield">hfield</a>;
<span class="cuser"><i id="n:132"> 132</i>:</span>     <span class="styp">char </span>*colon;
<span class="cuser"><i id="n:133"> 133</i>:</span> 
<span class="cuser"><i id="n:134"> 134</i>:</span>     ibuf = <a href="fio.c.html#s:_setinput">setinput</a>(mp);
<span class="cuser"><i id="n:135"> 135</i>:</span>     <span class="skey">if </span>((lc = mp-&gt;m_lines - <span class="snum">1</span>) &lt; <span class="snum">0</span>)
<span class="cuser"><i id="n:136"> 136</i>:</span>         <span class="skey">return </span><a href="def.h.html#m:NOSTR" title="defined: ((char *) 0)">NOSTR</a>;
<span class="cuser"><i id="n:137"> 137</i>:</span>     <span class="skey">if </span>(<a href="fio.c.html#s:_readline">readline</a>(ibuf, linebuf, <a href="def.h.html#m:LINESIZE" title="defined: BUFSIZ">LINESIZE</a>) &lt; <span class="snum">0</span>)
<span class="cuser"><i id="n:138"> 138</i>:</span>         <span class="skey">return </span><a href="def.h.html#m:NOSTR" title="defined: ((char *) 0)">NOSTR</a>;
<span class="cuser"><i id="n:139"> 139</i>:</span>     <span class="skey">while </span>(lc &gt; <span class="snum">0</span>) <a href="aux.c.html#n:144" title="to line 144">{</a>
<span class="cuser"><i id="n:140"> 140</i>:</span>         <span class="skey">if </span>((lc = <a href="aux.c.html#s:_gethfield">gethfield</a>(ibuf, linebuf, lc, &amp;colon)) &lt; <span class="snum">0</span>)
<span class="cuser"><i id="n:141"> 141</i>:</span>             <span class="skey">return </span><a href="def.h.html#m:NOSTR" title="defined: ((char *) 0)">NOSTR</a>;
<span class="cuser"><i id="n:142"> 142</i>:</span>         <span class="skey">if </span>(<a href="aux.c.html#s:_hfield">hfield</a> = <a href="aux.c.html#s:_ishfield">ishfield</a>(linebuf, colon, field))
<span class="cuser"><i id="n:143"> 143</i>:</span>             <span class="skey">return </span><a href="aux.c.html#s:_savestr">savestr</a>(<a href="aux.c.html#s:_hfield">hfield</a>);
<span class="cuser"><i id="n:144"> 144</i>:</span>     <a href="aux.c.html#n:139" title="from line 139">}</a>
<span class="cuser"><i id="n:145"> 145</i>:</span>     <span class="skey">return </span><a href="def.h.html#m:NOSTR" title="defined: ((char *) 0)">NOSTR</a>;
<span class="cuser"><i id="n:146"> 146</i>:</span> <a href="aux.c.html#n:127" title="from line 127">}</a>
<span class="cuser"><i id="n:147"> 147</i>:</span> 
<span class="cuser"><i id="n:148"> 148</i>:</span> <span class="scom">/*</span>
<span class="cuser"><i id="n:149"> 149</i>:</span> <span class="scom"> * Return the next header field found in the given message.</span>
<span class="cuser"><i id="n:150"> 150</i>:</span> <span class="scom"> * Return &gt;= 0 if something found, &lt; 0 elsewise.</span>
<span class="cuser"><i id="n:151"> 151</i>:</span> <span class="scom"> * "colon" is set to point to the colon in the header.</span>
<span class="cuser"><i id="n:152"> 152</i>:</span> <span class="scom"> * Must deal with \ continuations &amp; other such fraud.</span>
<span class="cuser"><i id="n:153"> 153</i>:</span> <span class="scom"> */</span>
<span class="cuser"><i id="n:154"> 154</i>:</span> <a href="aux.c.html#xref:s:_gethfield" id="s:_gethfield">gethfield</a>(f, linebuf, rem, colon)
<span class="cuser"><i id="n:155"> 155</i>:</span>     <span class="skey">register </span><a href="../../../include/stdio.h.html#m:FILE" title="defined: struct _iobuf">FILE</a> *f;
<span class="cuser"><i id="n:156"> 156</i>:</span>     <span class="styp">char </span>linebuf[];
<span class="cuser"><i id="n:157"> 157</i>:</span>     <span class="skey">register </span><span class="styp">int </span>rem;
<span class="cuser"><i id="n:158"> 158</i>:</span>     <span class="styp">char </span>**colon;
<span class="cuser"><i id="n:159"> 159</i>:</span> <a href="aux.c.html#n:205" title="to line 205">{</a>
<span class="cuser"><i id="n:160"> 160</i>:</span>     <span class="styp">char </span>line2[<a href="def.h.html#m:LINESIZE" title="defined: BUFSIZ">LINESIZE</a>];
<span class="cuser"><i id="n:161"> 161</i>:</span>     <span class="skey">register </span><span class="styp">char </span>*cp, *cp2;
<span class="cuser"><i id="n:162"> 162</i>:</span>     <span class="skey">register </span><span class="styp">int </span>c;
<span class="cuser"><i id="n:163"> 163</i>:</span> 
<span class="cuser"><i id="n:164"> 164</i>:</span>     <span class="skey">for </span>(;;) <a href="aux.c.html#n:203" title="to line 203">{</a>
<span class="cuser"><i id="n:165"> 165</i>:</span>         <span class="skey">if </span>(--rem &lt; <span class="snum">0</span>)
<span class="cuser"><i id="n:166"> 166</i>:</span>             <span class="skey">return </span>-<span class="snum">1</span>;
<span class="cuser"><i id="n:167"> 167</i>:</span>         <span class="skey">if </span>((c = <a href="fio.c.html#s:_readline">readline</a>(f, linebuf, <a href="def.h.html#m:LINESIZE" title="defined: BUFSIZ">LINESIZE</a>)) &lt;= <span class="snum">0</span>)
<span class="cuser"><i id="n:168"> 168</i>:</span>             <span class="skey">return </span>-<span class="snum">1</span>;
<span class="cuser"><i id="n:169"> 169</i>:</span>         <span class="skey">for </span><a href="aux.c.html#n:170" title="to line 170">(</a>cp = linebuf; <a href="../../../include/ctype.h.html#m:isprint">isprint</a>(*cp) &amp;&amp; *cp != <span class="slit">' ' </span>&amp;&amp; *cp != <span class="slit">':'</span>;
<span class="cuser"><i id="n:170"> 170</i>:</span>              cp++<a href="aux.c.html#n:169" title="from line 169">)</a>
<span class="cuser"><i id="n:171"> 171</i>:</span>             ;
<span class="cuser"><i id="n:172"> 172</i>:</span>         <span class="skey">if </span>(*cp != <span class="slit">':' </span>|| cp == linebuf)
<span class="cuser"><i id="n:173"> 173</i>:</span>             <span class="skey">continue</span>;
<span class="cuser"><i id="n:174"> 174</i>:</span>         <span class="scom">/*</span>
<span class="cuser"><i id="n:175"> 175</i>:</span> <span class="scom">		 * I guess we got a headline.</span>
<span class="cuser"><i id="n:176"> 176</i>:</span> <span class="scom">		 * Handle wraparounding</span>
<span class="cuser"><i id="n:177"> 177</i>:</span> <span class="scom">		 */</span>
<span class="cuser"><i id="n:178"> 178</i>:</span>         *colon = cp;
<span class="cuser"><i id="n:179"> 179</i>:</span>         cp = linebuf + c;
<span class="cuser"><i id="n:180"> 180</i>:</span>         <span class="skey">for </span>(;;) <a href="aux.c.html#n:200" title="to line 200">{</a>
<span class="cuser"><i id="n:181"> 181</i>:</span>             <span class="skey">while </span>(--cp &gt;= linebuf &amp;&amp; (*cp == <span class="slit">' ' </span>|| *cp == <span class="slit">'\t'</span>))
<span class="cuser"><i id="n:182"> 182</i>:</span>                 ;
<span class="cuser"><i id="n:183"> 183</i>:</span>             cp++;
<span class="cuser"><i id="n:184"> 184</i>:</span>             <span class="skey">if </span>(rem &lt;= <span class="snum">0</span>)
<span class="cuser"><i id="n:185"> 185</i>:</span>                 <span class="skey">break</span>;
<span class="cuser"><i id="n:186"> 186</i>:</span>             <a href="../../lib/libc/stdio/ungetc.c.html#s:_ungetc">ungetc</a>(c = <a href="../../../include/stdio.h.html#m:getc">getc</a>(f), f);
<span class="cuser"><i id="n:187"> 187</i>:</span>             <span class="skey">if </span>(c != <span class="slit">' ' </span>&amp;&amp; c != <span class="slit">'\t'</span>)
<span class="cuser"><i id="n:188"> 188</i>:</span>                 <span class="skey">break</span>;
<span class="cuser"><i id="n:189"> 189</i>:</span>             <span class="skey">if </span>((c = <a href="fio.c.html#s:_readline">readline</a>(f, line2, <a href="def.h.html#m:LINESIZE" title="defined: BUFSIZ">LINESIZE</a>)) &lt; <span class="snum">0</span>)
<span class="cuser"><i id="n:190"> 190</i>:</span>                 <span class="skey">break</span>;
<span class="cuser"><i id="n:191"> 191</i>:</span>             rem--;
<span class="cuser"><i id="n:192"> 192</i>:</span>             <span class="skey">for </span>(cp2 = line2; *cp2 == <span class="slit">' ' </span>|| *cp2 == <span class="slit">'\t'</span>; cp2++)
<span class="cuser"><i id="n:193"> 193</i>:</span>                 ;
<span class="cuser"><i id="n:194"> 194</i>:</span>             c -= cp2 - line2;
<span class="cuser"><i id="n:195"> 195</i>:</span>             <span class="skey">if </span>(cp + c &gt;= linebuf + <a href="def.h.html#m:LINESIZE" title="defined: BUFSIZ">LINESIZE</a> - <span class="snum">2</span>)
<span class="cuser"><i id="n:196"> 196</i>:</span>                 <span class="skey">break</span>;
<span class="cuser"><i id="n:197"> 197</i>:</span>             *cp++ = <span class="slit">' '</span>;
<span class="cuser"><i id="n:198"> 198</i>:</span>             <a href="../../lib/libc/pdp/gen/bcopy.s.html#s:_bcopy">bcopy</a>(cp2, cp, c);
<span class="cuser"><i id="n:199"> 199</i>:</span>             cp += c;
<span class="cuser"><i id="n:200"> 200</i>:</span>         <a href="aux.c.html#n:180" title="from line 180">}</a>
<span class="cuser"><i id="n:201"> 201</i>:</span>         *cp = <span class="snum">0</span>;
<span class="cuser"><i id="n:202"> 202</i>:</span>         <span class="skey">return </span>rem;
<span class="cuser"><i id="n:203"> 203</i>:</span>     <a href="aux.c.html#n:164" title="from line 164">}</a>
<span class="cuser"><i id="n:204"> 204</i>:</span>     <span class="scom">/* NOTREACHED */</span>
<span class="cuser"><i id="n:205"> 205</i>:</span> <a href="aux.c.html#n:159" title="from line 159">}</a>
<span class="cuser"><i id="n:206"> 206</i>:</span> 
<span class="cuser"><i id="n:207"> 207</i>:</span> <span class="scom">/*</span>
<span class="cuser"><i id="n:208"> 208</i>:</span> <span class="scom"> * Check whether the passed line is a header line of</span>
<span class="cuser"><i id="n:209"> 209</i>:</span> <span class="scom"> * the desired breed.  Return the field body, or 0.</span>
<span class="cuser"><i id="n:210"> 210</i>:</span> <span class="scom"> */</span>
<span class="cuser"><i id="n:211"> 211</i>:</span> 
<span class="cuser"><i id="n:212"> 212</i>:</span> <span id="s:_ishfield" class="styp">char</span>*
<span class="cuser"><i id="n:213"> 213</i>:</span> <a href="aux.c.html#xref:s:_ishfield">ishfield</a>(linebuf, colon, field)
<span class="cuser"><i id="n:214"> 214</i>:</span>     <span class="styp">char </span>linebuf[], field[];
<span class="cuser"><i id="n:215"> 215</i>:</span>     <span class="styp">char </span>*colon;
<span class="cuser"><i id="n:216"> 216</i>:</span> <a href="aux.c.html#n:228" title="to line 228">{</a>
<span class="cuser"><i id="n:217"> 217</i>:</span>     <span class="skey">register </span><span class="styp">char </span>*cp = colon;
<span class="cuser"><i id="n:218"> 218</i>:</span> 
<span class="cuser"><i id="n:219"> 219</i>:</span>     *cp = <span class="snum">0</span>;
<span class="cuser"><i id="n:220"> 220</i>:</span>     <span class="skey">if </span>(<a href="../../lib/libc/gen/strcasecmp.c.html#s:_strcasecmp">strcasecmp</a>(linebuf, field) != <span class="snum">0</span>) <a href="aux.c.html#n:223" title="to line 223">{</a>
<span class="cuser"><i id="n:221"> 221</i>:</span>         *cp = <span class="slit">':'</span>;
<span class="cuser"><i id="n:222"> 222</i>:</span>         <span class="skey">return </span><span class="snum">0</span>;
<span class="cuser"><i id="n:223"> 223</i>:</span>     <a href="aux.c.html#n:220" title="from line 220">}</a>
<span class="cuser"><i id="n:224"> 224</i>:</span>     *cp = <span class="slit">':'</span>;
<span class="cuser"><i id="n:225"> 225</i>:</span>     <span class="skey">for </span>(cp++; *cp == <span class="slit">' ' </span>|| *cp == <span class="slit">'\t'</span>; cp++)
<span class="cuser"><i id="n:226"> 226</i>:</span>         ;
<span class="cuser"><i id="n:227"> 227</i>:</span>     <span class="skey">return </span>cp;
<span class="cuser"><i id="n:228"> 228</i>:</span> <a href="aux.c.html#n:216" title="from line 216">}</a>
<span class="cuser"><i id="n:229"> 229</i>:</span> 
<span class="cuser"><i id="n:230"> 230</i>:</span> <span class="scom">/*</span>
<span class="cuser"><i id="n:231"> 231</i>:</span> <span class="scom"> * Copy a string, lowercasing it as we go.</span>
<span class="cuser"><i id="n:232"> 232</i>:</span> <span class="scom"> */</span>
<span class="cuser"><i id="n:233"> 233</i>:</span> <a href="aux.c.html#xref:s:_istrcpy" id="s:_istrcpy">istrcpy</a>(dest, src)
<span class="cuser"><i id="n:234"> 234</i>:</span>     <span class="skey">register </span><span class="styp">char </span>*dest, *src;
<span class="cuser"><i id="n:235"> 235</i>:</span> <a href="aux.c.html#n:243" title="to line 243">{</a>
<span class="cuser"><i id="n:236"> 236</i>:</span> 
<span class="cuser"><i id="n:237"> 237</i>:</span>     <span class="skey">do </span><a href="aux.c.html#n:242" title="to line 242">{</a>
<span class="cuser"><i id="n:238"> 238</i>:</span>         <span class="skey">if </span>(<a href="../../../include/ctype.h.html#m:isupper">isupper</a>(*src))
<span class="cuser"><i id="n:239"> 239</i>:</span>             *dest++ = <a href="../../../include/ctype.h.html#m:tolower">tolower</a>(*src);
<span class="cuser"><i id="n:240"> 240</i>:</span>         <span class="skey">else</span>
<span class="cuser"><i id="n:241"> 241</i>:</span>             *dest++ = *src;
<span class="cuser"><i id="n:242"> 242</i>:</span>     <a href="aux.c.html#n:237" title="from line 237">}</a> <span class="skey">while </span>(*src++ != <span class="snum">0</span>);
<span class="cuser"><i id="n:243"> 243</i>:</span> <a href="aux.c.html#n:235" title="from line 235">}</a>
<span class="cuser"><i id="n:244"> 244</i>:</span> 
<span class="cuser"><i id="n:245"> 245</i>:</span> <span class="scom">/*</span>
<span class="cuser"><i id="n:246"> 246</i>:</span> <span class="scom"> * The following code deals with input stacking to do source</span>
<span class="cuser"><i id="n:247"> 247</i>:</span> <span class="scom"> * commands.  All but the current file pointer are saved on</span>
<span class="cuser"><i id="n:248"> 248</i>:</span> <span class="scom"> * the stack.</span>
<span class="cuser"><i id="n:249"> 249</i>:</span> <span class="scom"> */</span>
<span class="cuser"><i id="n:250"> 250</i>:</span> 
<span class="cuser"><i id="n:251"> 251</i>:</span> <span class="skey">static  </span><span class="styp">int </span><a href="aux.c.html#xref:s:_ssp" id="s:_ssp">ssp</a>;            <span class="scom">/* Top of file stack */</span>
<span class="cuser"><i id="n:252"> 252</i>:</span> <span class="skey">struct </span><a href="aux.c.html#xref:sd:sstack" id="sd:sstack" class="styp">sstack</a> <a href="aux.c.html#n:256" title="to line 256">{</a>
<span class="cuser"><i id="n:253"> 253</i>:</span>     <a href="../../../include/stdio.h.html#m:FILE" title="defined: struct _iobuf">FILE</a>    *s_file;        <span class="scom">/* File we were in. */</span>
<span class="cuser"><i id="n:254"> 254</i>:</span>     <span class="styp">int </span>s_cond;         <span class="scom">/* Saved state of conditionals */</span>
<span class="cuser"><i id="n:255"> 255</i>:</span>     <span class="styp">int </span>s_loading;      <span class="scom">/* Loading .mailrc, etc. */</span>
<span class="cuser"><i id="n:256"> 256</i>:</span> <a href="aux.c.html#n:252" title="from line 252">}</a> <a href="aux.c.html#xref:s:_sstack" id="s:_sstack">sstack</a>[<a href="../../sys/h/param.h.html#m:NOFILE" title="defined: 30">NOFILE</a>];
<span class="cuser"><i id="n:257"> 257</i>:</span> 
<span class="cuser"><i id="n:258"> 258</i>:</span> <span class="scom">/*</span>
<span class="cuser"><i id="n:259"> 259</i>:</span> <span class="scom"> * Pushdown current input file and switch to a new one.</span>
<span class="cuser"><i id="n:260"> 260</i>:</span> <span class="scom"> * Set the global flag "sourcing" so that others will realize</span>
<span class="cuser"><i id="n:261"> 261</i>:</span> <span class="scom"> * that they are no longer reading from a tty (in all probability).</span>
<span class="cuser"><i id="n:262"> 262</i>:</span> <span class="scom"> */</span>
<span class="cuser"><i id="n:263"> 263</i>:</span> <a href="aux.c.html#xref:s:_source" id="s:_source">source</a>(arglist)
<span class="cuser"><i id="n:264"> 264</i>:</span>     <span class="styp">char </span>**arglist;
<span class="cuser"><i id="n:265"> 265</i>:</span> <a href="aux.c.html#n:289" title="to line 289">{</a>
<span class="cuser"><i id="n:266"> 266</i>:</span>     <a href="../../../include/stdio.h.html#m:FILE" title="defined: struct _iobuf">FILE</a> *fi;
<span class="cuser"><i id="n:267"> 267</i>:</span>     <span class="styp">char </span>*cp;
<span class="cuser"><i id="n:268"> 268</i>:</span> 
<span class="cuser"><i id="n:269"> 269</i>:</span>     <span class="skey">if </span>((cp = <a href="fio.c.html#s:_expand">expand</a>(*arglist)) == <a href="def.h.html#m:NOSTR" title="defined: ((char *) 0)">NOSTR</a>)
<span class="cuser"><i id="n:270"> 270</i>:</span>         <span class="skey">return</span>(<span class="snum">1</span>);
<span class="cuser"><i id="n:271"> 271</i>:</span>     <span class="skey">if </span>((fi = <a href="popen.c.html#s:_Fopen">Fopen</a>(cp, <span class="sstr">"r"</span>)) == <a href="../../sys/h/param.h.html#m:NULL" title="defined: 0">NULL</a>) <a href="aux.c.html#n:274" title="to line 274">{</a>
<span class="cuser"><i id="n:272"> 272</i>:</span>         <a href="../../lib/libc/gen/perror.c.html#s:_perror">perror</a>(cp);
<span class="cuser"><i id="n:273"> 273</i>:</span>         <span class="skey">return</span>(<span class="snum">1</span>);
<span class="cuser"><i id="n:274"> 274</i>:</span>     <a href="aux.c.html#n:271" title="from line 271">}</a>
<span class="cuser"><i id="n:275"> 275</i>:</span>     <span class="skey">if </span>(<a href="aux.c.html#s:_ssp">ssp</a> &gt;= <a href="../../sys/h/param.h.html#m:NOFILE" title="defined: 30">NOFILE</a> - <span class="snum">1</span>) <a href="aux.c.html#n:279" title="to line 279">{</a>
<span class="cuser"><i id="n:276"> 276</i>:</span>         <a href="../../lib/libc/stdio/printf.c.html#s:_printf">printf</a>(<span class="sstr">"Too much \"sourcing\" going on.\n"</span>);
<span class="cuser"><i id="n:277"> 277</i>:</span>         <a href="popen.c.html#s:_Fclose">Fclose</a>(fi);
<span class="cuser"><i id="n:278"> 278</i>:</span>         <span class="skey">return</span>(<span class="snum">1</span>);
<span class="cuser"><i id="n:279"> 279</i>:</span>     <a href="aux.c.html#n:275" title="from line 275">}</a>
<span class="cuser"><i id="n:280"> 280</i>:</span>     <a href="aux.c.html#s:_sstack">sstack</a>[<a href="aux.c.html#s:_ssp">ssp</a>].s_file = input;
<span class="cuser"><i id="n:281"> 281</i>:</span>     <a href="aux.c.html#s:_sstack">sstack</a>[<a href="aux.c.html#s:_ssp">ssp</a>].s_cond = <a href="glob.h.html#s:_cond">cond</a>;
<span class="cuser"><i id="n:282"> 282</i>:</span>     <a href="aux.c.html#s:_sstack">sstack</a>[<a href="aux.c.html#s:_ssp">ssp</a>].s_loading = <a href="glob.h.html#s:_loading">loading</a>;
<span class="cuser"><i id="n:283"> 283</i>:</span>     <a href="aux.c.html#s:_ssp">ssp</a>++;
<span class="cuser"><i id="n:284"> 284</i>:</span>     <a href="glob.h.html#s:_loading">loading</a> = <span class="snum">0</span>;
<span class="cuser"><i id="n:285"> 285</i>:</span>     <a href="glob.h.html#s:_cond">cond</a> = <a href="def.h.html#m:CANY" title="defined: 0">CANY</a>;
<span class="cuser"><i id="n:286"> 286</i>:</span>     input = fi;
<span class="cuser"><i id="n:287"> 287</i>:</span>     <a href="glob.h.html#s:_sourcing">sourcing</a>++;
<span class="cuser"><i id="n:288"> 288</i>:</span>     <span class="skey">return</span>(<span class="snum">0</span>);
<span class="cuser"><i id="n:289"> 289</i>:</span> <a href="aux.c.html#n:265" title="from line 265">}</a>
<span class="cuser"><i id="n:290"> 290</i>:</span> 
<span class="cuser"><i id="n:291"> 291</i>:</span> <span class="scom">/*</span>
<span class="cuser"><i id="n:292"> 292</i>:</span> <span class="scom"> * Pop the current input back to the previous level.</span>
<span class="cuser"><i id="n:293"> 293</i>:</span> <span class="scom"> * Update the "sourcing" flag as appropriate.</span>
<span class="cuser"><i id="n:294"> 294</i>:</span> <span class="scom"> */</span>
<span class="cuser"><i id="n:295"> 295</i>:</span> <a href="aux.c.html#xref:s:_unstack" id="s:_unstack">unstack</a>()
<span class="cuser"><i id="n:296"> 296</i>:</span> <a href="aux.c.html#n:312" title="to line 312">{</a>
<span class="cuser"><i id="n:297"> 297</i>:</span>     <span class="skey">if </span>(<a href="aux.c.html#s:_ssp">ssp</a> &lt;= <span class="snum">0</span>) <a href="aux.c.html#n:301" title="to line 301">{</a>
<span class="cuser"><i id="n:298"> 298</i>:</span>         <a href="../../lib/libc/stdio/printf.c.html#s:_printf">printf</a>(<span class="sstr">"\"Source\" stack over-pop.\n"</span>);
<span class="cuser"><i id="n:299"> 299</i>:</span>         <a href="glob.h.html#s:_sourcing">sourcing</a> = <span class="snum">0</span>;
<span class="cuser"><i id="n:300"> 300</i>:</span>         <span class="skey">return</span>(<span class="snum">1</span>);
<span class="cuser"><i id="n:301"> 301</i>:</span>     <a href="aux.c.html#n:297" title="from line 297">}</a>
<span class="cuser"><i id="n:302"> 302</i>:</span>     <a href="popen.c.html#s:_Fclose">Fclose</a>(input);
<span class="cuser"><i id="n:303"> 303</i>:</span>     <span class="skey">if </span>(<a href="glob.h.html#s:_cond">cond</a> != <a href="def.h.html#m:CANY" title="defined: 0">CANY</a>)
<span class="cuser"><i id="n:304"> 304</i>:</span>         <a href="../../lib/libc/stdio/printf.c.html#s:_printf">printf</a>(<span class="sstr">"Unmatched \"if\"\n"</span>);
<span class="cuser"><i id="n:305"> 305</i>:</span>     <a href="aux.c.html#s:_ssp">ssp</a>--;
<span class="cuser"><i id="n:306"> 306</i>:</span>     <a href="glob.h.html#s:_cond">cond</a> = <a href="aux.c.html#s:_sstack">sstack</a>[<a href="aux.c.html#s:_ssp">ssp</a>].s_cond;
<span class="cuser"><i id="n:307"> 307</i>:</span>     <a href="glob.h.html#s:_loading">loading</a> = <a href="aux.c.html#s:_sstack">sstack</a>[<a href="aux.c.html#s:_ssp">ssp</a>].s_loading;
<span class="cuser"><i id="n:308"> 308</i>:</span>     input = <a href="aux.c.html#s:_sstack">sstack</a>[<a href="aux.c.html#s:_ssp">ssp</a>].s_file;
<span class="cuser"><i id="n:309"> 309</i>:</span>     <span class="skey">if </span>(<a href="aux.c.html#s:_ssp">ssp</a> == <span class="snum">0</span>)
<span class="cuser"><i id="n:310"> 310</i>:</span>         <a href="glob.h.html#s:_sourcing">sourcing</a> = <a href="glob.h.html#s:_loading">loading</a>;
<span class="cuser"><i id="n:311"> 311</i>:</span>     <span class="skey">return</span>(<span class="snum">0</span>);
<span class="cuser"><i id="n:312"> 312</i>:</span> <a href="aux.c.html#n:296" title="from line 296">}</a>
<span class="cuser"><i id="n:313"> 313</i>:</span> 
<span class="cuser"><i id="n:314"> 314</i>:</span> <span class="scom">/*</span>
<span class="cuser"><i id="n:315"> 315</i>:</span> <span class="scom"> * Touch the indicated file.</span>
<span class="cuser"><i id="n:316"> 316</i>:</span> <span class="scom"> * This is nifty for the shell.</span>
<span class="cuser"><i id="n:317"> 317</i>:</span> <span class="scom"> */</span>
<span class="cuser"><i id="n:318"> 318</i>:</span> <a href="aux.c.html#xref:s:_alter" id="s:_alter">alter</a>(name)
<span class="cuser"><i id="n:319"> 319</i>:</span>     <span class="styp">char </span>*name;
<span class="cuser"><i id="n:320"> 320</i>:</span> <a href="aux.c.html#n:331" title="to line 331">{</a>
<span class="cuser"><i id="n:321"> 321</i>:</span>     <span class="skey">struct </span><a href="../../sys/h/stat.h.html#sd:stat" class="styp">stat</a> sb;
<span class="cuser"><i id="n:322"> 322</i>:</span>     <span class="skey">struct </span><a href="../../sys/h/time.h.html#sd:timeval" class="styp">timeval</a> tv[<span class="snum">2</span>];
<span class="cuser"><i id="n:323"> 323</i>:</span>     <a href="../../sys/h/types.h.html#td:time_t" class="styp">time_t</a> <a href="../../lib/libc/gen/time.c.html#s:_time">time</a>();
<span class="cuser"><i id="n:324"> 324</i>:</span> 
<span class="cuser"><i id="n:325"> 325</i>:</span>     <span class="skey">if </span>(<a href="../../lib/libc/pdp/sys/__stat.s.html#s:_stat">stat</a>(name, &amp;sb))
<span class="cuser"><i id="n:326"> 326</i>:</span>         <span class="skey">return</span>;
<span class="cuser"><i id="n:327"> 327</i>:</span>     tv[<span class="snum">0</span>].tv_sec = <a href="../../lib/libc/gen/time.c.html#s:_time">time</a>((<a href="../../sys/h/types.h.html#td:time_t" class="styp">time_t</a> *)<span class="snum">0</span>) + <span class="snum">1</span>;
<span class="cuser"><i id="n:328"> 328</i>:</span>     tv[<span class="snum">1</span>].tv_sec = sb.st_mtime;
<span class="cuser"><i id="n:329"> 329</i>:</span>     tv[<span class="snum">0</span>].tv_usec = tv[<span class="snum">1</span>].tv_usec = <span class="snum">0</span>;
<span class="cuser"><i id="n:330"> 330</i>:</span>     (<span class="styp">void</span>)<a href="../../lib/libc/pdp/sys/__utimes.s.html#s:_utimes">utimes</a>(name, tv);
<span class="cuser"><i id="n:331"> 331</i>:</span> <a href="aux.c.html#n:320" title="from line 320">}</a>
<span class="cuser"><i id="n:332"> 332</i>:</span> 
<span class="cuser"><i id="n:333"> 333</i>:</span> <span class="scom">/*</span>
<span class="cuser"><i id="n:334"> 334</i>:</span> <span class="scom"> * Examine the passed line buffer and</span>
<span class="cuser"><i id="n:335"> 335</i>:</span> <span class="scom"> * return true if it is all blanks and tabs.</span>
<span class="cuser"><i id="n:336"> 336</i>:</span> <span class="scom"> */</span>
<span class="cuser"><i id="n:337"> 337</i>:</span> <a href="aux.c.html#xref:s:_blankline" id="s:_blankline">blankline</a>(linebuf)
<span class="cuser"><i id="n:338"> 338</i>:</span>     <span class="styp">char </span>linebuf[];
<span class="cuser"><i id="n:339"> 339</i>:</span> <a href="aux.c.html#n:346" title="to line 346">{</a>
<span class="cuser"><i id="n:340"> 340</i>:</span>     <span class="skey">register </span><span class="styp">char </span>*cp;
<span class="cuser"><i id="n:341"> 341</i>:</span> 
<span class="cuser"><i id="n:342"> 342</i>:</span>     <span class="skey">for </span>(cp = linebuf; *cp; cp++)
<span class="cuser"><i id="n:343"> 343</i>:</span>         <span class="skey">if </span>(*cp != <span class="slit">' ' </span>&amp;&amp; *cp != <span class="slit">'\t'</span>)
<span class="cuser"><i id="n:344"> 344</i>:</span>             <span class="skey">return</span>(<span class="snum">0</span>);
<span class="cuser"><i id="n:345"> 345</i>:</span>     <span class="skey">return</span>(<span class="snum">1</span>);
<span class="cuser"><i id="n:346"> 346</i>:</span> <a href="aux.c.html#n:339" title="from line 339">}</a>
<span class="cuser"><i id="n:347"> 347</i>:</span> 
<span class="cuser"><i id="n:348"> 348</i>:</span> <span class="scom">/*</span>
<span class="cuser"><i id="n:349"> 349</i>:</span> <span class="scom"> * Get sender's name from this message.  If the message has</span>
<span class="cuser"><i id="n:350"> 350</i>:</span> <span class="scom"> * a bunch of arpanet stuff in it, we may have to skin the name</span>
<span class="cuser"><i id="n:351"> 351</i>:</span> <span class="scom"> * before returning it.</span>
<span class="cuser"><i id="n:352"> 352</i>:</span> <span class="scom"> */</span>
<span class="cuser"><i id="n:353"> 353</i>:</span> <span id="s:_nameof" class="styp">char</span> *
<span class="cuser"><i id="n:354"> 354</i>:</span> <a href="aux.c.html#xref:s:_nameof">nameof</a>(mp, reptype)
<span class="cuser"><i id="n:355"> 355</i>:</span>     <span class="skey">register struct </span><a href="def.h.html#sd:message" class="styp">message</a> *mp;
<span class="cuser"><i id="n:356"> 356</i>:</span> <a href="aux.c.html#n:369" title="to line 369">{</a>
<span class="cuser"><i id="n:357"> 357</i>:</span>     <span class="skey">register </span><span class="styp">char </span>*cp, *cp2;
<span class="cuser"><i id="n:358"> 358</i>:</span> 
<span class="cuser"><i id="n:359"> 359</i>:</span>     cp = <a href="aux.c.html#s:_skin">skin</a>(<a href="aux.c.html#s:_name1">name1</a>(mp, reptype));
<span class="cuser"><i id="n:360"> 360</i>:</span>     <span class="skey">if </span>(reptype != <span class="snum">0 </span>|| <a href="aux.c.html#s:_charcount">charcount</a>(cp, <span class="slit">'!'</span>) &lt; <span class="snum">2</span>)
<span class="cuser"><i id="n:361"> 361</i>:</span>         <span class="skey">return</span>(cp);
<span class="cuser"><i id="n:362"> 362</i>:</span>     cp2 = <a href="../../lib/libc/pdp/gen/rindex.s.html#s:_rindex">rindex</a>(cp, <span class="slit">'!'</span>);
<span class="cuser"><i id="n:363"> 363</i>:</span>     cp2--;
<span class="cuser"><i id="n:364"> 364</i>:</span>     <span class="skey">while </span>(cp2 &gt; cp &amp;&amp; *cp2 != <span class="slit">'!'</span>)
<span class="cuser"><i id="n:365"> 365</i>:</span>         cp2--;
<span class="cuser"><i id="n:366"> 366</i>:</span>     <span class="skey">if </span>(*cp2 == <span class="slit">'!'</span>)
<span class="cuser"><i id="n:367"> 367</i>:</span>         <span class="skey">return</span>(cp2 + <span class="snum">1</span>);
<span class="cuser"><i id="n:368"> 368</i>:</span>     <span class="skey">return</span>(cp);
<span class="cuser"><i id="n:369"> 369</i>:</span> <a href="aux.c.html#n:356" title="from line 356">}</a>
<span class="cuser"><i id="n:370"> 370</i>:</span> 
<span class="cuser"><i id="n:371"> 371</i>:</span> <span class="scom">/*</span>
<span class="cuser"><i id="n:372"> 372</i>:</span> <span class="scom"> * Start of a "comment".</span>
<span class="cuser"><i id="n:373"> 373</i>:</span> <span class="scom"> * Ignore it.</span>
<span class="cuser"><i id="n:374"> 374</i>:</span> <span class="scom"> */</span>
<span class="cuser"><i id="n:375"> 375</i>:</span> <span id="s:_skip_comment" class="styp">char</span> *
<span class="cuser"><i id="n:376"> 376</i>:</span> <a href="aux.c.html#xref:s:_skip_comment">skip_comment</a>(cp)
<span class="cuser"><i id="n:377"> 377</i>:</span>     <span class="skey">register </span><span class="styp">char </span>*cp;
<span class="cuser"><i id="n:378"> 378</i>:</span> <a href="aux.c.html#n:396" title="to line 396">{</a>
<span class="cuser"><i id="n:379"> 379</i>:</span>     <span class="skey">register </span>nesting = <span class="snum">1</span>;
<span class="cuser"><i id="n:380"> 380</i>:</span> 
<span class="cuser"><i id="n:381"> 381</i>:</span>     <span class="skey">for </span>(; nesting &gt; <span class="snum">0 </span>&amp;&amp; *cp; cp++) <a href="aux.c.html#n:394" title="to line 394">{</a>
<span class="cuser"><i id="n:382"> 382</i>:</span>         <span class="skey">switch </span>(*cp) <a href="aux.c.html#n:393" title="to line 393">{</a>
<span class="cuser"><i id="n:383"> 383</i>:</span>         <span class="skey">case </span><span class="slit">'\\'</span>:
<span class="cuser"><i id="n:384"> 384</i>:</span>             <span class="skey">if </span>(cp[<span class="snum">1</span>])
<span class="cuser"><i id="n:385"> 385</i>:</span>                 cp++;
<span class="cuser"><i id="n:386"> 386</i>:</span>             <span class="skey">break</span>;
<span class="cuser"><i id="n:387"> 387</i>:</span>         <span class="skey">case </span><span class="slit">'('</span>:
<span class="cuser"><i id="n:388"> 388</i>:</span>             nesting++;
<span class="cuser"><i id="n:389"> 389</i>:</span>             <span class="skey">break</span>;
<span class="cuser"><i id="n:390"> 390</i>:</span>         <span class="skey">case </span><span class="slit">')'</span>:
<span class="cuser"><i id="n:391"> 391</i>:</span>             nesting--;
<span class="cuser"><i id="n:392"> 392</i>:</span>             <span class="skey">break</span>;
<span class="cuser"><i id="n:393"> 393</i>:</span>         <a href="aux.c.html#n:382" title="from line 382">}</a>
<span class="cuser"><i id="n:394"> 394</i>:</span>     <a href="aux.c.html#n:381" title="from line 381">}</a>
<span class="cuser"><i id="n:395"> 395</i>:</span>     <span class="skey">return </span>cp;
<span class="cuser"><i id="n:396"> 396</i>:</span> <a href="aux.c.html#n:378" title="from line 378">}</a>
<span class="cuser"><i id="n:397"> 397</i>:</span> 
<span class="cuser"><i id="n:398"> 398</i>:</span> <span class="scom">/*</span>
<span class="cuser"><i id="n:399"> 399</i>:</span> <span class="scom"> * Skin an arpa net address according to the RFC 822 interpretation</span>
<span class="cuser"><i id="n:400"> 400</i>:</span> <span class="scom"> * of "host-phrase."</span>
<span class="cuser"><i id="n:401"> 401</i>:</span> <span class="scom"> */</span>
<span class="cuser"><i id="n:402"> 402</i>:</span> <span id="s:_skin" class="styp">char</span> *
<span class="cuser"><i id="n:403"> 403</i>:</span> <a href="aux.c.html#xref:s:_skin">skin</a>(name)
<span class="cuser"><i id="n:404"> 404</i>:</span>     <span class="styp">char </span>*name;
<span class="cuser"><i id="n:405"> 405</i>:</span> <a href="aux.c.html#n:501" title="to line 501">{</a>
<span class="cuser"><i id="n:406"> 406</i>:</span>     <span class="skey">register </span><span class="styp">int </span>c;
<span class="cuser"><i id="n:407"> 407</i>:</span>     <span class="skey">register </span><span class="styp">char </span>*cp, *cp2;
<span class="cuser"><i id="n:408"> 408</i>:</span>     <span class="styp">char </span>*bufend;
<span class="cuser"><i id="n:409"> 409</i>:</span>     <span class="styp">int </span>gotlt, lastsp;
<span class="cuser"><i id="n:410"> 410</i>:</span>     <span class="styp">char </span>nbuf[<a href="../../../include/stdio.h.html#m:BUFSIZ" title="defined: 1024">BUFSIZ</a>];
<span class="cuser"><i id="n:411"> 411</i>:</span> 
<span class="cuser"><i id="n:412"> 412</i>:</span>     <span class="skey">if </span>(name == <a href="def.h.html#m:NOSTR" title="defined: ((char *) 0)">NOSTR</a>)
<span class="cuser"><i id="n:413"> 413</i>:</span>         <span class="skey">return</span>(<a href="def.h.html#m:NOSTR" title="defined: ((char *) 0)">NOSTR</a>);
<span class="cuser"><i id="n:414"> 414</i>:</span>     <span class="skey">if </span><a href="aux.c.html#n:415" title="to line 415">(</a><a href="../../lib/libc/pdp/gen/index.s.html#s:_index">index</a>(name, <span class="slit">'('</span>) == <a href="def.h.html#m:NOSTR" title="defined: ((char *) 0)">NOSTR</a> &amp;&amp; <a href="../../lib/libc/pdp/gen/index.s.html#s:_index">index</a>(name, <span class="slit">'&lt;'</span>) == <a href="def.h.html#m:NOSTR" title="defined: ((char *) 0)">NOSTR</a>
<span class="cuser"><i id="n:415"> 415</i>:</span>         &amp;&amp; <a href="../../lib/libc/pdp/gen/index.s.html#s:_index">index</a>(name, <span class="slit">' '</span>) == <a href="def.h.html#m:NOSTR" title="defined: ((char *) 0)">NOSTR</a><a href="aux.c.html#n:414" title="from line 414">)</a>
<span class="cuser"><i id="n:416"> 416</i>:</span>         <span class="skey">return</span>(name);
<span class="cuser"><i id="n:417"> 417</i>:</span>     gotlt = <span class="snum">0</span>;
<span class="cuser"><i id="n:418"> 418</i>:</span>     lastsp = <span class="snum">0</span>;
<span class="cuser"><i id="n:419"> 419</i>:</span>     bufend = nbuf;
<span class="cuser"><i id="n:420"> 420</i>:</span>     <span class="skey">for </span>(cp = name, cp2 = bufend; c = *cp++; ) <a href="aux.c.html#n:497" title="to line 497">{</a>
<span class="cuser"><i id="n:421"> 421</i>:</span>         <span class="skey">switch </span>(c) <a href="aux.c.html#n:496" title="to line 496">{</a>
<span class="cuser"><i id="n:422"> 422</i>:</span>         <span class="skey">case </span><span class="slit">'('</span>:
<span class="cuser"><i id="n:423"> 423</i>:</span>             cp = <a href="aux.c.html#s:_skip_comment">skip_comment</a>(cp);
<span class="cuser"><i id="n:424"> 424</i>:</span>             lastsp = <span class="snum">0</span>;
<span class="cuser"><i id="n:425"> 425</i>:</span>             <span class="skey">break</span>;
<span class="cuser"><i id="n:426"> 426</i>:</span> 
<span class="cuser"><i id="n:427"> 427</i>:</span>         <span class="skey">case </span><span class="slit">'"'</span>:
<span class="cuser"><i id="n:428"> 428</i>:</span>             <span class="scom">/*</span>
<span class="cuser"><i id="n:429"> 429</i>:</span> <span class="scom">			 * Start of a "quoted-string".</span>
<span class="cuser"><i id="n:430"> 430</i>:</span> <span class="scom">			 * Copy it in its entirety.</span>
<span class="cuser"><i id="n:431"> 431</i>:</span> <span class="scom">			 */</span>
<span class="cuser"><i id="n:432"> 432</i>:</span>             <span class="skey">while </span>(c = *cp) <a href="aux.c.html#n:442" title="to line 442">{</a>
<span class="cuser"><i id="n:433"> 433</i>:</span>                 cp++;
<span class="cuser"><i id="n:434"> 434</i>:</span>                 <span class="skey">if </span>(c == <span class="slit">'"'</span>)
<span class="cuser"><i id="n:435"> 435</i>:</span>                     <span class="skey">break</span>;
<span class="cuser"><i id="n:436"> 436</i>:</span>                 <span class="skey">if </span>(c != <span class="slit">'\\'</span>)
<span class="cuser"><i id="n:437"> 437</i>:</span>                     *cp2++ = c;
<span class="cuser"><i id="n:438"> 438</i>:</span>                 <span class="skey">else if </span>(c = *cp) <a href="aux.c.html#n:441" title="to line 441">{</a>
<span class="cuser"><i id="n:439"> 439</i>:</span>                     *cp2++ = c;
<span class="cuser"><i id="n:440"> 440</i>:</span>                     cp++;
<span class="cuser"><i id="n:441"> 441</i>:</span>                 <a href="aux.c.html#n:438" title="from line 438">}</a>
<span class="cuser"><i id="n:442"> 442</i>:</span>             <a href="aux.c.html#n:432" title="from line 432">}</a>
<span class="cuser"><i id="n:443"> 443</i>:</span>             lastsp = <span class="snum">0</span>;
<span class="cuser"><i id="n:444"> 444</i>:</span>             <span class="skey">break</span>;
<span class="cuser"><i id="n:445"> 445</i>:</span> 
<span class="cuser"><i id="n:446"> 446</i>:</span>         <span class="skey">case </span><span class="slit">' '</span>:
<span class="cuser"><i id="n:447"> 447</i>:</span>             <span class="skey">if </span>(cp[<span class="snum">0</span>] == <span class="slit">'a' </span>&amp;&amp; cp[<span class="snum">1</span>] == <span class="slit">'t' </span>&amp;&amp; cp[<span class="snum">2</span>] == <span class="slit">' '</span>)
<span class="cuser"><i id="n:448"> 448</i>:</span>                 cp += <span class="snum">3</span>, *cp2++ = <span class="slit">'@'</span>;
<span class="cuser"><i id="n:449"> 449</i>:</span>             <span class="skey">else</span>
<span class="cuser"><i id="n:450"> 450</i>:</span>             <span class="skey">if </span>(cp[<span class="snum">0</span>] == <span class="slit">'@' </span>&amp;&amp; cp[<span class="snum">1</span>] == <span class="slit">' '</span>)
<span class="cuser"><i id="n:451"> 451</i>:</span>                 cp += <span class="snum">2</span>, *cp2++ = <span class="slit">'@'</span>;
<span class="cuser"><i id="n:452"> 452</i>:</span>             <span class="skey">else</span>
<span class="cuser"><i id="n:453"> 453</i>:</span>                 lastsp = <span class="snum">1</span>;
<span class="cuser"><i id="n:454"> 454</i>:</span>             <span class="skey">break</span>;
<span class="cuser"><i id="n:455"> 455</i>:</span> 
<span class="cuser"><i id="n:456"> 456</i>:</span>         <span class="skey">case </span><span class="slit">'&lt;'</span>:
<span class="cuser"><i id="n:457"> 457</i>:</span>             cp2 = bufend;
<span class="cuser"><i id="n:458"> 458</i>:</span>             gotlt++;
<span class="cuser"><i id="n:459"> 459</i>:</span>             lastsp = <span class="snum">0</span>;
<span class="cuser"><i id="n:460"> 460</i>:</span>             <span class="skey">break</span>;
<span class="cuser"><i id="n:461"> 461</i>:</span> 
<span class="cuser"><i id="n:462"> 462</i>:</span>         <span class="skey">case </span><span class="slit">'&gt;'</span>:
<span class="cuser"><i id="n:463"> 463</i>:</span>             <span class="skey">if </span>(gotlt) <a href="aux.c.html#n:480" title="to line 480">{</a>
<span class="cuser"><i id="n:464"> 464</i>:</span>                 gotlt = <span class="snum">0</span>;
<span class="cuser"><i id="n:465"> 465</i>:</span>                 <span class="skey">while </span>((c = *cp) &amp;&amp; c != <span class="slit">','</span>) <a href="aux.c.html#n:477" title="to line 477">{</a>
<span class="cuser"><i id="n:466"> 466</i>:</span>                     cp++;
<span class="cuser"><i id="n:467"> 467</i>:</span>                     <span class="skey">if </span>(c == <span class="slit">'('</span>)
<span class="cuser"><i id="n:468"> 468</i>:</span>                         cp = <a href="aux.c.html#s:_skip_comment">skip_comment</a>(cp);
<span class="cuser"><i id="n:469"> 469</i>:</span>                     <span class="skey">else if </span>(c == <span class="slit">'"'</span>)
<span class="cuser"><i id="n:470"> 470</i>:</span>                         <span class="skey">while </span>(c = *cp) <a href="aux.c.html#n:476" title="to line 476">{</a>
<span class="cuser"><i id="n:471"> 471</i>:</span>                             cp++;
<span class="cuser"><i id="n:472"> 472</i>:</span>                             <span class="skey">if </span>(c == <span class="slit">'"'</span>)
<span class="cuser"><i id="n:473"> 473</i>:</span>                                 <span class="skey">break</span>;
<span class="cuser"><i id="n:474"> 474</i>:</span>                             <span class="skey">if </span>(c == <span class="slit">'\\' </span>&amp;&amp; *cp)
<span class="cuser"><i id="n:475"> 475</i>:</span>                                 cp++;
<span class="cuser"><i id="n:476"> 476</i>:</span>                         <a href="aux.c.html#n:470" title="from line 470">}</a>
<span class="cuser"><i id="n:477"> 477</i>:</span>                 <a href="aux.c.html#n:465" title="from line 465">}</a>
<span class="cuser"><i id="n:478"> 478</i>:</span>                 lastsp = <span class="snum">0</span>;
<span class="cuser"><i id="n:479"> 479</i>:</span>                 <span class="skey">break</span>;
<span class="cuser"><i id="n:480"> 480</i>:</span>             <a href="aux.c.html#n:463" title="from line 463">}</a>
<span class="cuser"><i id="n:481"> 481</i>:</span>             <span class="scom">/* Fall into . . . */</span>
<span class="cuser"><i id="n:482"> 482</i>:</span> 
<span class="cuser"><i id="n:483"> 483</i>:</span>         <span class="skey">default</span>:
<span class="cuser"><i id="n:484"> 484</i>:</span>             <span class="skey">if </span>(lastsp) <a href="aux.c.html#n:487" title="to line 487">{</a>
<span class="cuser"><i id="n:485"> 485</i>:</span>                 lastsp = <span class="snum">0</span>;
<span class="cuser"><i id="n:486"> 486</i>:</span>                 *cp2++ = <span class="slit">' '</span>;
<span class="cuser"><i id="n:487"> 487</i>:</span>             <a href="aux.c.html#n:484" title="from line 484">}</a>
<span class="cuser"><i id="n:488"> 488</i>:</span>             *cp2++ = c;
<span class="cuser"><i id="n:489"> 489</i>:</span>             <span class="skey">if </span>(c == <span class="slit">',' </span>&amp;&amp; !gotlt) <a href="aux.c.html#n:495" title="to line 495">{</a>
<span class="cuser"><i id="n:490"> 490</i>:</span>                 *cp2++ = <span class="slit">' '</span>;
<span class="cuser"><i id="n:491"> 491</i>:</span>                 <span class="skey">for </span>(; *cp == <span class="slit">' '</span>; cp++)
<span class="cuser"><i id="n:492"> 492</i>:</span>                     ;
<span class="cuser"><i id="n:493"> 493</i>:</span>                 lastsp = <span class="snum">0</span>;
<span class="cuser"><i id="n:494"> 494</i>:</span>                 bufend = cp2;
<span class="cuser"><i id="n:495"> 495</i>:</span>             <a href="aux.c.html#n:489" title="from line 489">}</a>
<span class="cuser"><i id="n:496"> 496</i>:</span>         <a href="aux.c.html#n:421" title="from line 421">}</a>
<span class="cuser"><i id="n:497"> 497</i>:</span>     <a href="aux.c.html#n:420" title="from line 420">}</a>
<span class="cuser"><i id="n:498"> 498</i>:</span>     *cp2 = <span class="snum">0</span>;
<span class="cuser"><i id="n:499"> 499</i>:</span> 
<span class="cuser"><i id="n:500"> 500</i>:</span>     <span class="skey">return</span>(<a href="aux.c.html#s:_savestr">savestr</a>(nbuf));
<span class="cuser"><i id="n:501"> 501</i>:</span> <a href="aux.c.html#n:405" title="from line 405">}</a>
<span class="cuser"><i id="n:502"> 502</i>:</span> 
<span class="cuser"><i id="n:503"> 503</i>:</span> <span class="scom">/*</span>
<span class="cuser"><i id="n:504"> 504</i>:</span> <span class="scom"> * Fetch the sender's name from the passed message.</span>
<span class="cuser"><i id="n:505"> 505</i>:</span> <span class="scom"> * Reptype can be</span>
<span class="cuser"><i id="n:506"> 506</i>:</span> <span class="scom"> *	0 -- get sender's name for display purposes</span>
<span class="cuser"><i id="n:507"> 507</i>:</span> <span class="scom"> *	1 -- get sender's name for reply</span>
<span class="cuser"><i id="n:508"> 508</i>:</span> <span class="scom"> *	2 -- get sender's name for Reply</span>
<span class="cuser"><i id="n:509"> 509</i>:</span> <span class="scom"> */</span>
<span class="cuser"><i id="n:510"> 510</i>:</span> <span id="s:_name1" class="styp">char</span> *
<span class="cuser"><i id="n:511"> 511</i>:</span> <a href="aux.c.html#xref:s:_name1">name1</a>(mp, reptype)
<span class="cuser"><i id="n:512"> 512</i>:</span>     <span class="skey">register struct </span><a href="def.h.html#sd:message" class="styp">message</a> *mp;
<span class="cuser"><i id="n:513"> 513</i>:</span> <a href="aux.c.html#n:563" title="to line 563">{</a>
<span class="cuser"><i id="n:514"> 514</i>:</span>     <span class="styp">char </span>namebuf[<a href="def.h.html#m:LINESIZE" title="defined: BUFSIZ">LINESIZE</a>];
<span class="cuser"><i id="n:515"> 515</i>:</span>     <span class="styp">char </span>linebuf[<a href="def.h.html#m:LINESIZE" title="defined: BUFSIZ">LINESIZE</a>];
<span class="cuser"><i id="n:516"> 516</i>:</span>     <span class="skey">register </span><span class="styp">char </span>*cp, *cp2;
<span class="cuser"><i id="n:517"> 517</i>:</span>     <span class="skey">register </span><a href="../../../include/stdio.h.html#m:FILE" title="defined: struct _iobuf">FILE</a> *ibuf;
<span class="cuser"><i id="n:518"> 518</i>:</span>     <span class="styp">int </span>first = <span class="snum">1</span>;
<span class="cuser"><i id="n:519"> 519</i>:</span> 
<span class="cuser"><i id="n:520"> 520</i>:</span>     <span class="skey">if </span>((cp = <a href="aux.c.html#s:_hfield">hfield</a>(<span class="sstr">"from"</span>, mp)) != <a href="def.h.html#m:NOSTR" title="defined: ((char *) 0)">NOSTR</a>)
<span class="cuser"><i id="n:521"> 521</i>:</span>         <span class="skey">return </span>cp;
<span class="cuser"><i id="n:522"> 522</i>:</span>     <span class="skey">if </span>(reptype == <span class="snum">0 </span>&amp;&amp; (cp = <a href="aux.c.html#s:_hfield">hfield</a>(<span class="sstr">"sender"</span>, mp)) != <a href="def.h.html#m:NOSTR" title="defined: ((char *) 0)">NOSTR</a>)
<span class="cuser"><i id="n:523"> 523</i>:</span>         <span class="skey">return </span>cp;
<span class="cuser"><i id="n:524"> 524</i>:</span>     ibuf = <a href="fio.c.html#s:_setinput">setinput</a>(mp);
<span class="cuser"><i id="n:525"> 525</i>:</span>     namebuf[<span class="snum">0</span>] = <span class="snum">0</span>;
<span class="cuser"><i id="n:526"> 526</i>:</span>     <span class="skey">if </span>(<a href="fio.c.html#s:_readline">readline</a>(ibuf, linebuf, <a href="def.h.html#m:LINESIZE" title="defined: BUFSIZ">LINESIZE</a>) &lt; <span class="snum">0</span>)
<span class="cuser"><i id="n:527"> 527</i>:</span>         <span class="skey">return</span>(<a href="aux.c.html#s:_savestr">savestr</a>(namebuf));
<span class="cuser"><i id="n:528"> 528</i>:</span> <span id="l:_name1:newname">newname</span>:
<span class="cuser"><i id="n:529"> 529</i>:</span>     <span class="skey">for </span>(cp = linebuf; *cp &amp;&amp; *cp != <span class="slit">' '</span>; cp++)
<span class="cuser"><i id="n:530"> 530</i>:</span>         ;
<span class="cuser"><i id="n:531"> 531</i>:</span>     <span class="skey">for </span>(; *cp == <span class="slit">' ' </span>|| *cp == <span class="slit">'\t'</span>; cp++)
<span class="cuser"><i id="n:532"> 532</i>:</span>         ;
<span class="cuser"><i id="n:533"> 533</i>:</span>     <span class="skey">for </span><a href="aux.c.html#n:534" title="to line 534">(</a>cp2 = &amp;namebuf[<a href="../../lib/libc/pdp/gen/strlen.s.html#s:_strlen">strlen</a>(namebuf)];
<span class="cuser"><i id="n:534"> 534</i>:</span>          *cp &amp;&amp; *cp != <span class="slit">' ' </span>&amp;&amp; *cp != <span class="slit">'\t' </span>&amp;&amp; cp2 &lt; namebuf + <a href="def.h.html#m:LINESIZE" title="defined: BUFSIZ">LINESIZE</a> - <span class="snum">1</span>;<a href="aux.c.html#n:533" title="from line 533">)</a>
<span class="cuser"><i id="n:535"> 535</i>:</span>         *cp2++ = *cp++;
<span class="cuser"><i id="n:536"> 536</i>:</span>     *cp2 = <span class="slit">'\0'</span>;
<span class="cuser"><i id="n:537"> 537</i>:</span>     <span class="skey">if </span>(<a href="fio.c.html#s:_readline">readline</a>(ibuf, linebuf, <a href="def.h.html#m:LINESIZE" title="defined: BUFSIZ">LINESIZE</a>) &lt; <span class="snum">0</span>)
<span class="cuser"><i id="n:538"> 538</i>:</span>         <span class="skey">return</span>(<a href="aux.c.html#s:_savestr">savestr</a>(namebuf));
<span class="cuser"><i id="n:539"> 539</i>:</span>     <span class="skey">if </span>((cp = <a href="../../lib/libc/pdp/gen/index.s.html#s:_index">index</a>(linebuf, <span class="slit">'F'</span>)) == <a href="../../sys/h/param.h.html#m:NULL" title="defined: 0">NULL</a>)
<span class="cuser"><i id="n:540"> 540</i>:</span>         <span class="skey">return</span>(<a href="aux.c.html#s:_savestr">savestr</a>(namebuf));
<span class="cuser"><i id="n:541"> 541</i>:</span>     <span class="skey">if </span>(<a href="../../lib/libc/pdp/gen/strncmp.s.html#s:_strncmp">strncmp</a>(cp, <span class="sstr">"From"</span>, <span class="snum">4</span>) != <span class="snum">0</span>)
<span class="cuser"><i id="n:542"> 542</i>:</span>         <span class="skey">return</span>(<a href="aux.c.html#s:_savestr">savestr</a>(namebuf));
<span class="cuser"><i id="n:543"> 543</i>:</span>     <span class="skey">while </span>((cp = <a href="../../lib/libc/pdp/gen/index.s.html#s:_index">index</a>(cp, <span class="slit">'r'</span>)) != <a href="../../sys/h/param.h.html#m:NULL" title="defined: 0">NULL</a>) <a href="aux.c.html#n:561" title="to line 561">{</a>
<span class="cuser"><i id="n:544"> 544</i>:</span>         <span class="skey">if </span>(<a href="../../lib/libc/pdp/gen/strncmp.s.html#s:_strncmp">strncmp</a>(cp, <span class="sstr">"remote"</span>, <span class="snum">6</span>) == <span class="snum">0</span>) <a href="aux.c.html#n:559" title="to line 559">{</a>
<span class="cuser"><i id="n:545"> 545</i>:</span>             <span class="skey">if </span>((cp = <a href="../../lib/libc/pdp/gen/index.s.html#s:_index">index</a>(cp, <span class="slit">'f'</span>)) == <a href="../../sys/h/param.h.html#m:NULL" title="defined: 0">NULL</a>)
<span class="cuser"><i id="n:546"> 546</i>:</span>                 <span class="skey">break</span>;
<span class="cuser"><i id="n:547"> 547</i>:</span>             <span class="skey">if </span>(<a href="../../lib/libc/pdp/gen/strncmp.s.html#s:_strncmp">strncmp</a>(cp, <span class="sstr">"from"</span>, <span class="snum">4</span>) != <span class="snum">0</span>)
<span class="cuser"><i id="n:548"> 548</i>:</span>                 <span class="skey">break</span>;
<span class="cuser"><i id="n:549"> 549</i>:</span>             <span class="skey">if </span>((cp = <a href="../../lib/libc/pdp/gen/index.s.html#s:_index">index</a>(cp, <span class="slit">' '</span>)) == <a href="../../sys/h/param.h.html#m:NULL" title="defined: 0">NULL</a>)
<span class="cuser"><i id="n:550"> 550</i>:</span>                 <span class="skey">break</span>;
<span class="cuser"><i id="n:551"> 551</i>:</span>             cp++;
<span class="cuser"><i id="n:552"> 552</i>:</span>             <span class="skey">if </span>(first) <a href="aux.c.html#n:555" title="to line 555">{</a>
<span class="cuser"><i id="n:553"> 553</i>:</span>                 <a href="../../lib/libc/pdp/gen/strcpy.s.html#s:_strcpy">strcpy</a>(namebuf, cp);
<span class="cuser"><i id="n:554"> 554</i>:</span>                 first = <span class="snum">0</span>;
<span class="cuser"><i id="n:555"> 555</i>:</span>             <a href="aux.c.html#n:552" title="from line 552">}</a> <span class="skey">else</span>
<span class="cuser"><i id="n:556"> 556</i>:</span>                 <a href="../../lib/libc/pdp/gen/strcpy.s.html#s:_strcpy">strcpy</a>(<a href="../../lib/libc/pdp/gen/rindex.s.html#s:_rindex">rindex</a>(namebuf, <span class="slit">'!'</span>)+<span class="snum">1</span>, cp);
<span class="cuser"><i id="n:557"> 557</i>:</span>             <a href="../../lib/libc/pdp/gen/strcat.s.html#s:_strcat">strcat</a>(namebuf, <span class="sstr">"!"</span>);
<span class="cuser"><i id="n:558"> 558</i>:</span>             <span class="skey">goto </span><a href="aux.c.html#l:_name1:newname">newname</a>;
<span class="cuser"><i id="n:559"> 559</i>:</span>         <a href="aux.c.html#n:544" title="from line 544">}</a>
<span class="cuser"><i id="n:560"> 560</i>:</span>         cp++;
<span class="cuser"><i id="n:561"> 561</i>:</span>     <a href="aux.c.html#n:543" title="from line 543">}</a>
<span class="cuser"><i id="n:562"> 562</i>:</span>     <span class="skey">return</span>(<a href="aux.c.html#s:_savestr">savestr</a>(namebuf));
<span class="cuser"><i id="n:563"> 563</i>:</span> <a href="aux.c.html#n:513" title="from line 513">}</a>
<span class="cuser"><i id="n:564"> 564</i>:</span> 
<span class="cuser"><i id="n:565"> 565</i>:</span> <span class="scom">/*</span>
<span class="cuser"><i id="n:566"> 566</i>:</span> <span class="scom"> * Count the occurances of c in str</span>
<span class="cuser"><i id="n:567"> 567</i>:</span> <span class="scom"> */</span>
<span class="cuser"><i id="n:568"> 568</i>:</span> <a href="aux.c.html#xref:s:_charcount" id="s:_charcount">charcount</a>(str, c)
<span class="cuser"><i id="n:569"> 569</i>:</span>     <span class="styp">char </span>*str;
<span class="cuser"><i id="n:570"> 570</i>:</span> <a href="aux.c.html#n:578" title="to line 578">{</a>
<span class="cuser"><i id="n:571"> 571</i>:</span>     <span class="skey">register </span><span class="styp">char </span>*cp;
<span class="cuser"><i id="n:572"> 572</i>:</span>     <span class="skey">register </span><span class="styp">int </span>i;
<span class="cuser"><i id="n:573"> 573</i>:</span> 
<span class="cuser"><i id="n:574"> 574</i>:</span>     <span class="skey">for </span>(i = <span class="snum">0</span>, cp = str; *cp; cp++)
<span class="cuser"><i id="n:575"> 575</i>:</span>         <span class="skey">if </span>(*cp == c)
<span class="cuser"><i id="n:576"> 576</i>:</span>             i++;
<span class="cuser"><i id="n:577"> 577</i>:</span>     <span class="skey">return</span>(i);
<span class="cuser"><i id="n:578"> 578</i>:</span> <a href="aux.c.html#n:570" title="from line 570">}</a>
<span class="cuser"><i id="n:579"> 579</i>:</span> 
<span class="cuser"><i id="n:580"> 580</i>:</span> <span class="scom">/*</span>
<span class="cuser"><i id="n:581"> 581</i>:</span> <span class="scom"> * Are any of the characters in the two strings the same?</span>
<span class="cuser"><i id="n:582"> 582</i>:</span> <span class="scom"> */</span>
<span class="cuser"><i id="n:583"> 583</i>:</span> <a href="aux.c.html#xref:s:_anyof" id="s:_anyof">anyof</a>(s1, s2)
<span class="cuser"><i id="n:584"> 584</i>:</span>     <span class="skey">register </span><span class="styp">char </span>*s1, *s2;
<span class="cuser"><i id="n:585"> 585</i>:</span> <a href="aux.c.html#n:591" title="to line 591">{</a>
<span class="cuser"><i id="n:586"> 586</i>:</span> 
<span class="cuser"><i id="n:587"> 587</i>:</span>     <span class="skey">while </span>(*s1)
<span class="cuser"><i id="n:588"> 588</i>:</span>         <span class="skey">if </span>(<a href="../../lib/libc/pdp/gen/index.s.html#s:_index">index</a>(s2, *s1++))
<span class="cuser"><i id="n:589"> 589</i>:</span>             <span class="skey">return </span><span class="snum">1</span>;
<span class="cuser"><i id="n:590"> 590</i>:</span>     <span class="skey">return </span><span class="snum">0</span>;
<span class="cuser"><i id="n:591"> 591</i>:</span> <a href="aux.c.html#n:585" title="from line 585">}</a>
<span class="cuser"><i id="n:592"> 592</i>:</span> 
<span class="cuser"><i id="n:593"> 593</i>:</span> <span class="scom">/*</span>
<span class="cuser"><i id="n:594"> 594</i>:</span> <span class="scom"> * Convert c to upper case</span>
<span class="cuser"><i id="n:595"> 595</i>:</span> <span class="scom"> */</span>
<span class="cuser"><i id="n:596"> 596</i>:</span> <a href="aux.c.html#xref:s:_raise" id="s:_raise">raise</a>(c)
<span class="cuser"><i id="n:597"> 597</i>:</span>     <span class="skey">register </span>c;
<span class="cuser"><i id="n:598"> 598</i>:</span> <a href="aux.c.html#n:603" title="to line 603">{</a>
<span class="cuser"><i id="n:599"> 599</i>:</span> 
<span class="cuser"><i id="n:600"> 600</i>:</span>     <span class="skey">if </span>(<a href="../../../include/ctype.h.html#m:islower">islower</a>(c))
<span class="cuser"><i id="n:601"> 601</i>:</span>         <span class="skey">return </span><a href="../../../include/ctype.h.html#m:toupper">toupper</a>(c);
<span class="cuser"><i id="n:602"> 602</i>:</span>     <span class="skey">return </span>c;
<span class="cuser"><i id="n:603"> 603</i>:</span> <a href="aux.c.html#n:598" title="from line 598">}</a>
<span class="cuser"><i id="n:604"> 604</i>:</span> 
<span class="cuser"><i id="n:605"> 605</i>:</span> <span class="scom">/*</span>
<span class="cuser"><i id="n:606"> 606</i>:</span> <span class="scom"> * Copy s1 to s2, return pointer to null in s2.</span>
<span class="cuser"><i id="n:607"> 607</i>:</span> <span class="scom"> */</span>
<span class="cuser"><i id="n:608"> 608</i>:</span> <span id="s:_copy" class="styp">char</span> *
<span class="cuser"><i id="n:609"> 609</i>:</span> <a href="aux.c.html#xref:s:_copy">copy</a>(s1, s2)
<span class="cuser"><i id="n:610"> 610</i>:</span>     <span class="skey">register </span><span class="styp">char </span>*s1, *s2;
<span class="cuser"><i id="n:611"> 611</i>:</span> <a href="aux.c.html#n:616" title="to line 616">{</a>
<span class="cuser"><i id="n:612"> 612</i>:</span> 
<span class="cuser"><i id="n:613"> 613</i>:</span>     <span class="skey">while </span>(*s2++ = *s1++)
<span class="cuser"><i id="n:614"> 614</i>:</span>         ;
<span class="cuser"><i id="n:615"> 615</i>:</span>     <span class="skey">return </span>s2 - <span class="snum">1</span>;
<span class="cuser"><i id="n:616"> 616</i>:</span> <a href="aux.c.html#n:611" title="from line 611">}</a>
<span class="cuser"><i id="n:617"> 617</i>:</span> 
<span class="cuser"><i id="n:618"> 618</i>:</span> <span class="scom">/*</span>
<span class="cuser"><i id="n:619"> 619</i>:</span> <span class="scom"> * See if the given header field is supposed to be ignored.</span>
<span class="cuser"><i id="n:620"> 620</i>:</span> <span class="scom"> */</span>
<span class="cuser"><i id="n:621"> 621</i>:</span> <a href="aux.c.html#xref:s:_isign" id="s:_isign">isign</a>(field, <a href="glob.h.html#s:_ignore">ignore</a>)
<span class="cuser"><i id="n:622"> 622</i>:</span>     <span class="styp">char </span>*field;
<span class="cuser"><i id="n:623"> 623</i>:</span>     <span class="skey">struct </span><a href="def.h.html#sd:ignoretab" class="styp">ignoretab</a> <a href="glob.h.html#s:_ignore">ignore</a>[<span class="snum">2</span>];
<span class="cuser"><i id="n:624"> 624</i>:</span> <a href="aux.c.html#n:638" title="to line 638">{</a>
<span class="cuser"><i id="n:625"> 625</i>:</span>     <span class="styp">char </span>realfld[<a href="../../../include/stdio.h.html#m:BUFSIZ" title="defined: 1024">BUFSIZ</a>];
<span class="cuser"><i id="n:626"> 626</i>:</span> 
<span class="cuser"><i id="n:627"> 627</i>:</span>     <span class="skey">if </span>(<a href="glob.h.html#s:_ignore">ignore</a> == <a href="glob.h.html#s:_ignoreall">ignoreall</a>)
<span class="cuser"><i id="n:628"> 628</i>:</span>         <span class="skey">return </span><span class="snum">1</span>;
<span class="cuser"><i id="n:629"> 629</i>:</span>     <span class="scom">/*</span>
<span class="cuser"><i id="n:630"> 630</i>:</span> <span class="scom">	 * Lower-case the string, so that "Status" and "status"</span>
<span class="cuser"><i id="n:631"> 631</i>:</span> <span class="scom">	 * will hash to the same place.</span>
<span class="cuser"><i id="n:632"> 632</i>:</span> <span class="scom">	 */</span>
<span class="cuser"><i id="n:633"> 633</i>:</span>     <a href="aux.c.html#s:_istrcpy">istrcpy</a>(realfld, field);
<span class="cuser"><i id="n:634"> 634</i>:</span>     <span class="skey">if </span>(<a href="glob.h.html#s:_ignore">ignore</a>[<span class="snum">1</span>].i_count &gt; <span class="snum">0</span>)
<span class="cuser"><i id="n:635"> 635</i>:</span>         <span class="skey">return </span>(!<a href="aux.c.html#s:_member">member</a>(realfld, <a href="glob.h.html#s:_ignore">ignore</a> + <span class="snum">1</span>));
<span class="cuser"><i id="n:636"> 636</i>:</span>     <span class="skey">else</span>
<span class="cuser"><i id="n:637"> 637</i>:</span>         <span class="skey">return </span>(<a href="aux.c.html#s:_member">member</a>(realfld, <a href="glob.h.html#s:_ignore">ignore</a>));
<span class="cuser"><i id="n:638"> 638</i>:</span> <a href="aux.c.html#n:624" title="from line 624">}</a>
<span class="cuser"><i id="n:639"> 639</i>:</span> 
<span class="cuser"><i id="n:640"> 640</i>:</span> <a href="aux.c.html#xref:s:_member" id="s:_member">member</a>(realfield, table)
<span class="cuser"><i id="n:641"> 641</i>:</span>     <span class="skey">register </span><span class="styp">char </span>*realfield;
<span class="cuser"><i id="n:642"> 642</i>:</span>     <span class="skey">struct </span><a href="def.h.html#sd:ignoretab" class="styp">ignoretab</a> *table;
<span class="cuser"><i id="n:643"> 643</i>:</span> <a href="aux.c.html#n:651" title="to line 651">{</a>
<span class="cuser"><i id="n:644"> 644</i>:</span>     <span class="skey">register struct </span><a href="def.h.html#sd:ignore" class="styp">ignore</a> *igp;
<span class="cuser"><i id="n:645"> 645</i>:</span> 
<span class="cuser"><i id="n:646"> 646</i>:</span>     <span class="skey">for </span>(igp = table-&gt;i_head[<a href="vars.c.html#s:_hash">hash</a>(realfield)]; igp != <span class="snum">0</span>; igp = igp-&gt;i_link)
<span class="cuser"><i id="n:647"> 647</i>:</span>         <span class="skey">if </span><a href="aux.c.html#n:648" title="to line 648">(</a>*igp-&gt;i_field == *realfield &amp;&amp;
<span class="cuser"><i id="n:648"> 648</i>:</span>             <a href="def.h.html#m:equal">equal</a>(igp-&gt;i_field, realfield)<a href="aux.c.html#n:647" title="from line 647">)</a>
<span class="cuser"><i id="n:649"> 649</i>:</span>             <span class="skey">return </span>(<span class="snum">1</span>);
<span class="cuser"><i id="n:650"> 650</i>:</span>     <span class="skey">return </span>(<span class="snum">0</span>);
<span class="cuser"><i id="n:651"> 651</i>:</span> <a href="aux.c.html#n:643" title="from line 643">}</a>
</pre>
</div>
<div id="xref">
<h4>Defined functions</h4>
<div class="xe"><a id="xref:s:_alter" href="aux.c.html#s:_alter">alter</a>
 defined in line <a href="aux.c.html#n:318">318</a>;  used 2 times
<ul>
<li class="xxe"> in <a href="quit.c.html">/usr/src/ucb/Mail/quit.c</a> line 
<a href="quit.c.html#n:309">309</a>,
<a href="quit.c.html#n:370">370</a>
</li></ul>
</div>
<div class="xo"><a id="xref:s:_anyof" href="aux.c.html#s:_anyof">anyof</a>
 defined in line <a href="aux.c.html#n:583">583</a>;  used 1 times
<ul>
<li class="xxe"> in <a href="fio.c.html">/usr/src/ucb/Mail/fio.c</a> line 
<a href="fio.c.html#n:339">339</a>
</li></ul>
</div>
<div class="xe"><a id="xref:s:_argcount" href="aux.c.html#s:_argcount">argcount</a>
 defined in line <a href="aux.c.html#n:109">109</a>;  used 1 times
<ul>
<li class="xxe"> in <a href="cmd3.c.html">/usr/src/ucb/Mail/cmd3.c</a> line 
<a href="cmd3.c.html#n:694">694</a>
</li></ul>
</div>
<div class="xo"><a id="xref:s:_blankline" href="aux.c.html#s:_blankline">blankline</a>
 defined in line <a href="aux.c.html#n:337">337</a>;  used 1 times
<ul>
<li class="xxe"> in <a href="cmd1.c.html">/usr/src/ucb/Mail/cmd1.c</a> line 
<a href="cmd1.c.html#n:384">384</a>
</li></ul>
</div>
<div class="xe"><a id="xref:s:_charcount" href="aux.c.html#s:_charcount">charcount</a>
 defined in line <a href="aux.c.html#n:568">568</a>;  used 1 times
<ul>
<li class="xxe">in line <a href="aux.c.html#n:360">360</a>
</li></ul>
</div>
<div class="xo"><a id="xref:s:_copy" href="aux.c.html#s:_copy">copy</a>
 defined in line <a href="aux.c.html#n:608">608</a>;  used 4 times
<ul>
<li class="xxe"> in <a href="def.h.html">/usr/src/ucb/Mail/def.h</a> line 
<a href="def.h.html#n:283">283</a>
</li><li class="xxo"> in <a href="names.c.html">/usr/src/ucb/Mail/names.c</a> line 
<a href="names.c.html#n:146">146</a>
</li><li class="xxe"> in <a href="tty.c.html">/usr/src/ucb/Mail/tty.c</a> line 
<a href="tty.c.html#n:167">167</a>-<a href="tty.c.html#n:169">169</a>(2)
</li></ul>
</div>
<div class="xe"><a id="xref:s:_gethfield" href="aux.c.html#s:_gethfield">gethfield</a>
 defined in line <a href="aux.c.html#n:154">154</a>;  used 1 times
<ul>
<li class="xxe">in line <a href="aux.c.html#n:140">140</a>
</li></ul>
</div>
<div class="xo"><a id="xref:s:_hfield" href="aux.c.html#s:_hfield">hfield</a>
 defined in line <a href="aux.c.html#n:123">123</a>;  used 21 times
<ul>
<li class="xxe">in line <a href="aux.c.html#n:131">131</a>,
<a href="aux.c.html#n:142">142</a>-<a href="aux.c.html#n:143">143</a>(2),
<a href="aux.c.html#n:520">520</a>-<a href="aux.c.html#n:522">522</a>(2)
</li><li class="xxo"> in <a href="cmd1.c.html">/usr/src/ucb/Mail/cmd1.c</a> line 
<a href="cmd1.c.html#n:174">174</a>-<a href="cmd1.c.html#n:175">175</a>(2),
<a href="cmd1.c.html#n:195">195</a>
</li><li class="xxe"> in <a href="cmd3.c.html">/usr/src/ucb/Mail/cmd3.c</a> line 
<a href="cmd3.c.html#n:208">208</a>-<a href="cmd3.c.html#n:212">212</a>(3),
<a href="cmd3.c.html#n:233">233</a>-<a href="cmd3.c.html#n:236">236</a>(3),
<a href="cmd3.c.html#n:592">592</a>,
<a href="cmd3.c.html#n:599">599</a>-<a href="cmd3.c.html#n:600">600</a>(2)
</li><li class="xxo"> in <a href="def.h.html">/usr/src/ucb/Mail/def.h</a> line 
<a href="def.h.html#n:289">289</a>
</li><li class="xxe"> in <a href="list.c.html">/usr/src/ucb/Mail/list.c</a> line 
<a href="list.c.html#n:685">685</a>
</li><li class="xxo"> in <a href="quit.c.html">/usr/src/ucb/Mail/quit.c</a> line 
<a href="quit.c.html#n:169">169</a>,
<a href="quit.c.html#n:408">408</a>
</li></ul>
</div>
<div class="xe"><a id="xref:s:_isdir" href="aux.c.html#s:_isdir">isdir</a>
 defined in line <a href="aux.c.html#n:96">96</a>;  used 1 times
<ul>
<li class="xxe"> in <a href="collect.c.html">/usr/src/ucb/Mail/collect.c</a> line 
<a href="collect.c.html#n:273">273</a>
</li></ul>
</div>
<div class="xo"><a id="xref:s:_ishfield" href="aux.c.html#s:_ishfield">ishfield</a>
 defined in line <a href="aux.c.html#n:212">212</a>;  used 2 times
<ul>
<li class="xxe">in line <a href="aux.c.html#n:142">142</a>
</li><li class="xxo"> in <a href="def.h.html">/usr/src/ucb/Mail/def.h</a> line 
<a href="def.h.html#n:296">296</a>
</li></ul>
</div>
<div class="xe"><a id="xref:s:_isign" href="aux.c.html#s:_isign">isign</a>
 defined in line <a href="aux.c.html#n:621">621</a>;  used 2 times
<ul>
<li class="xxe"> in <a href="send.c.html">/usr/src/ucb/Mail/send.c</a> line 
<a href="send.c.html#n:81">81</a>,
<a href="send.c.html#n:148">148</a>
</li></ul>
</div>
<div class="xo"><a id="xref:s:_istrcpy" href="aux.c.html#s:_istrcpy">istrcpy</a>
 defined in line <a href="aux.c.html#n:233">233</a>;  used 2 times
<ul>
<li class="xxe">in line <a href="aux.c.html#n:633">633</a>
</li><li class="xxo"> in <a href="cmd2.c.html">/usr/src/ucb/Mail/cmd2.c</a> line 
<a href="cmd2.c.html#n:465">465</a>
</li></ul>
</div>
<div class="xe"><a id="xref:s:_member" href="aux.c.html#s:_member">member</a>
 defined in line <a href="aux.c.html#n:640">640</a>;  used 3 times
<ul>
<li class="xxe">in line <a href="aux.c.html#n:635">635</a>-<a href="aux.c.html#n:637">637</a>(2)
</li><li class="xxo"> in <a href="cmd2.c.html">/usr/src/ucb/Mail/cmd2.c</a> line 
<a href="cmd2.c.html#n:466">466</a>
</li></ul>
</div>
<div class="xo"><a id="xref:s:_name1" href="aux.c.html#s:_name1">name1</a>
 defined in line <a href="aux.c.html#n:510">510</a>;  used 2 times
<ul>
<li class="xxe">in line <a href="aux.c.html#n:359">359</a>
</li><li class="xxo"> in <a href="def.h.html">/usr/src/ucb/Mail/def.h</a> line 
<a href="def.h.html#n:290">290</a>
</li></ul>
</div>
<div class="xe"><a id="xref:s:_nameof" href="aux.c.html#s:_nameof">nameof</a>
 defined in line <a href="aux.c.html#n:353">353</a>;  used 5 times
<ul>
<li class="xxe"> in <a href="cmd1.c.html">/usr/src/ucb/Mail/cmd1.c</a> line 
<a href="cmd1.c.html#n:195">195</a>
</li><li class="xxo"> in <a href="cmd3.c.html">/usr/src/ucb/Mail/cmd3.c</a> line 
<a href="cmd3.c.html#n:209">209</a>,
<a href="cmd3.c.html#n:593">593</a>
</li><li class="xxe"> in <a href="def.h.html">/usr/src/ucb/Mail/def.h</a> line 
<a href="def.h.html#n:291">291</a>
</li><li class="xxo"> in <a href="list.c.html">/usr/src/ucb/Mail/list.c</a> line 
<a href="list.c.html#n:644">644</a>
</li></ul>
</div>
<div class="xo"><a id="xref:s:_panic" href="aux.c.html#s:_panic">panic</a>
 defined in line <a href="aux.c.html#n:68">68</a>;  used 12 times
<ul>
<li class="xxe"> in <a href="fio.c.html">/usr/src/ucb/Mail/fio.c</a> line 
<a href="fio.c.html#n:190">190</a>,
<a href="fio.c.html#n:207">207</a>,
<a href="fio.c.html#n:213">213</a>
</li><li class="xxo"> in <a href="lex.c.html">/usr/src/ucb/Mail/lex.c</a> line 
<a href="lex.c.html#n:400">400</a>
</li><li class="xxe"> in <a href="list.c.html">/usr/src/ucb/Mail/list.c</a> line 
<a href="list.c.html#n:594">594</a>,
<a href="list.c.html#n:710">710</a>,
<a href="list.c.html#n:724">724</a>
</li><li class="xxo"> in <a href="names.c.html">/usr/src/ucb/Mail/names.c</a> line 
<a href="names.c.html#n:477">477</a>
</li><li class="xxe"> in <a href="popen.c.html">/usr/src/ucb/Mail/popen.c</a> line 
<a href="popen.c.html#n:146">146</a>
</li><li class="xxo"> in <a href="strings.c.html">/usr/src/ucb/Mail/strings.c</a> line 
<a href="strings.c.html#n:76">76</a>,
<a href="strings.c.html#n:82">82</a>
</li><li class="xxe"> in <a href="vars.c.html">/usr/src/ucb/Mail/vars.c</a> line 
<a href="vars.c.html#n:98">98</a>
</li></ul>
</div>
<div class="xe"><a id="xref:s:_raise" href="aux.c.html#s:_raise">raise</a>
 defined in line <a href="aux.c.html#n:596">596</a>;  used 4 times
<ul>
<li class="xxe"> in <a href="list.c.html">/usr/src/ucb/Mail/list.c</a> line 
<a href="list.c.html#n:649">649</a>(2),
<a href="list.c.html#n:692">692</a>(2)
</li></ul>
</div>
<div class="xo"><a id="xref:s:_savestr" href="aux.c.html#s:_savestr">savestr</a>
 defined in line <a href="aux.c.html#n:51">51</a>;  used 7 times
<ul>
<li class="xxe">in line <a href="aux.c.html#n:143">143</a>,
<a href="aux.c.html#n:500">500</a>,
<a href="aux.c.html#n:527">527</a>,
<a href="aux.c.html#n:538">538</a>-<a href="aux.c.html#n:542">542</a>(3),
<a href="aux.c.html#n:562">562</a>
</li></ul>
</div>
<div class="xe"><a id="xref:s:_skin" href="aux.c.html#s:_skin">skin</a>
 defined in line <a href="aux.c.html#n:402">402</a>;  used 10 times
<ul>
<li class="xxe">in line <a href="aux.c.html#n:359">359</a>
</li><li class="xxo"> in <a href="cmd1.c.html">/usr/src/ucb/Mail/cmd1.c</a> line 
<a href="cmd1.c.html#n:195">195</a>
</li><li class="xxe"> in <a href="cmd3.c.html">/usr/src/ucb/Mail/cmd3.c</a> line 
<a href="cmd3.c.html#n:208">208</a>-<a href="cmd3.c.html#n:212">212</a>(4),
<a href="cmd3.c.html#n:236">236</a>,
<a href="cmd3.c.html#n:592">592</a>-<a href="cmd3.c.html#n:593">593</a>(2)
</li><li class="xxo"> in <a href="def.h.html">/usr/src/ucb/Mail/def.h</a> line 
<a href="def.h.html#n:303">303</a>
</li></ul>
</div>
<div class="xo"><a id="xref:s:_skip_comment" href="aux.c.html#s:_skip_comment">skip_comment</a>
 defined in line <a href="aux.c.html#n:375">375</a>;  used 2 times
<ul>
<li class="xxe">in line <a href="aux.c.html#n:423">423</a>,
<a href="aux.c.html#n:468">468</a>
</li></ul>
</div>
<div class="xe"><a id="xref:s:_source" href="aux.c.html#s:_source">source</a>
 defined in line <a href="aux.c.html#n:263">263</a>;  used 2 times
<ul>
<li class="xxe"> in <a href="cmdtab.c.html">/usr/src/ucb/Mail/cmdtab.c</a> line 
<a href="cmdtab.c.html#n:49">49</a>,
<a href="cmdtab.c.html#n:85">85</a>
</li></ul>
</div>
<div class="xo"><a id="xref:s:_touch" href="aux.c.html#s:_touch">touch</a>
 defined in line <a href="aux.c.html#n:83">83</a>;  used 10 times
<ul>
<li class="xxe"> in <a href="cmd1.c.html">/usr/src/ucb/Mail/cmd1.c</a> line 
<a href="cmd1.c.html#n:318">318</a>,
<a href="cmd1.c.html#n:372">372</a>
</li><li class="xxo"> in <a href="cmd2.c.html">/usr/src/ucb/Mail/cmd2.c</a> line 
<a href="cmd2.c.html#n:190">190</a>,
<a href="cmd2.c.html#n:288">288</a>,
<a href="cmd2.c.html#n:314">314</a>,
<a href="cmd2.c.html#n:351">351</a>
</li><li class="xxe"> in <a href="cmd3.c.html">/usr/src/ucb/Mail/cmd3.c</a> line 
<a href="cmd3.c.html#n:206">206</a>,
<a href="cmd3.c.html#n:590">590</a>
</li><li class="xxo"> in <a href="collect.c.html">/usr/src/ucb/Mail/collect.c</a> line 
<a href="collect.c.html#n:531">531</a>
</li><li class="xxe"> in <a href="edit.c.html">/usr/src/ucb/Mail/edit.c</a> line 
<a href="edit.c.html#n:105">105</a>
</li></ul>
</div>
<div class="xe"><a id="xref:s:_unstack" href="aux.c.html#s:_unstack">unstack</a>
 defined in line <a href="aux.c.html#n:295">295</a>;  used 3 times
<ul>
<li class="xxe"> in <a href="lex.c.html">/usr/src/ucb/Mail/lex.c</a> line 
<a href="lex.c.html#n:213">213</a>,
<a href="lex.c.html#n:414">414</a>,
<a href="lex.c.html#n:497">497</a>
</li></ul>
</div>
<h4>Defined variables</h4>
<div class="xe"><a id="xref:s:_sccsid" href="aux.c.html#s:_sccsid">sccsid</a>
 defined in line <a href="aux.c.html#n:35">35</a>;  <i>never used</i>
</div>
<div class="xo"><a id="xref:s:_ssp" href="aux.c.html#s:_ssp">ssp</a>
 defined in line <a href="aux.c.html#n:251">251</a>;  used 11 times
<ul>
<li class="xxe">in line <a href="aux.c.html#n:275">275</a>-<a href="aux.c.html#n:283">283</a>(5),
<a href="aux.c.html#n:297">297</a>,
<a href="aux.c.html#n:305">305</a>-<a href="aux.c.html#n:309">309</a>(5)
</li></ul>
</div>
<div class="xe"><a id="xref:s:_sstack" href="aux.c.html#s:_sstack">sstack</a>
 defined in line <a href="aux.c.html#n:256">256</a>;  used 6 times
<ul>
<li class="xxe">in line <a href="aux.c.html#n:280">280</a>-<a href="aux.c.html#n:282">282</a>(3),
<a href="aux.c.html#n:306">306</a>-<a href="aux.c.html#n:308">308</a>(3)
</li></ul>
</div>
<h4>Defined struct's</h4>
<div class="xe"><a id="xref:sd:sstack" href="aux.c.html#sd:sstack">sstack</a>
 defined in line <a href="aux.c.html#n:252">252</a>;  <i>never used</i>
</div>
</div>
</div>
<div id="tail">
<table border="0" width="100%" cellspacing="2" cellpadding="0">
  <tr>
    <td align="left">
      Last modified: 1992-10-22
      <br/>
      Generated: 2016-12-26
    </td>
    <td align="center"><small>Generated by src2html V0.67
      <br/>page hit count: 
      1334
      </small>
    </td>
    <td align="right">
      <a href="http://jigsaw.w3.org/css-validator/check/referer">
        <img alt="Valid CSS" height="31" width="88"
             src="../../../../.misc/valid-css.png"/>
      </a>
      <a href="http://validator.w3.org/check?uri=referer">
         <img alt="Valid XHTML 1.0 Strict" 
              height="31" width="88" src="../../../../.misc/valid-xhtml10.png"/>
      </a>
    </td>
  </tr>
</table>
</div></div>
</body></html>
