Diff for /books/www/corrections.html between versions 1.76 and 1.104

version 1.76, 2003/02/18 13:30:58 version 1.104, 2003/03/23 18:54:49
Line 1 Line 1
 <html><style>  <html><style>
   .broken { color: red; }    .broken { color: red; }
  .fixed { color: green; }  .fixed { color: blue; }
 </style>  </style>
   
 <body><p><b>Corrections</b>  <body><p><b>Corrections</b>
Line 12  section on the chapter pages, or send a  Line 12  section on the chapter pages, or send a 
 href="mailto:reviewers@mozdev.org">reviewers@mozdev.org</a> mailing list.  href="mailto:reviewers@mozdev.org">reviewers@mozdev.org</a> mailing list.
   
 <p><b>Note:</b> All errors in the text and examples are shown in <b class="broken">red</b> and all corrections are shown in <b  <p><b>Note:</b> All errors in the text and examples are shown in <b class="broken">red</b> and all corrections are shown in <b
class="fixed">green</b>.class="fixed">blue</b>.
   
 <a name="preface"></a>  <a name="preface"></a>
 <p><b>Preface</b>  <p><b>Preface</b>
   
 <ul>  <ul>
   
   <li>On page ix: '<b class="broken">other browsers such as Galeon and Chimera</b>' has been changed to '<b class="fixed">other browsers 
   such as Galeon and Camino</b>'<br><br>
   
 <li>On page xiv: '<b class="broken">http://www.oreilly.com/mozilla/</b>' has been changed  <li>On page xiv: '<b class="broken">http://www.oreilly.com/mozilla/</b>' has been changed
 to '<b class="fixed">http://www.oreilly.com/catalog/mozilla/</b>'<br><br>  to '<b class="fixed">http://www.oreilly.com/catalog/mozilla/</b>'<br><br>
   
   <li>On page xvii: '<b class="broken">David McNamara, and Mark Hammond</b>' has been changed to '<b class="fixed">David 
   McNamara, Mark Hammond, Gary Frederick, and Andreas Halter</b>'<br><br>
   
   <li>On page xvii: '<b class="broken">David Hyatt and Mike Pinkerton for the Chimera browser</b>' has been changed to '<b
   class="fixed">David Hyatt and Mike Pinkerton for the Camino browser</b>'<br><br>
   
   <li>On page xvii: '<b class="broken">including Kim Steckler, Rachel Oeschger, and Priscilla, Dylan, and Devon Collins</b>' has been
   changed to '<b class="fixed">including Kim Steckler, Rachel Oeschger, Marjana Molan, Lia Molan King, and Priscilla, Dylan, and Devon
   Collins</b>'<br><br>
   
 </ul>  </ul>
   
   
Line 30  to '<b class="fixed">http://www.oreilly. Line 43  to '<b class="fixed">http://www.oreilly.
   
 <ul>  <ul>
   
   <li>On page 2: In sidebar '<b class="broken">like Chimera (an ultra-fast browser that works only on Mac OS X)</b>' has been changed to 
   '<b class="fixed">like Camino (an ultra-fast browser that works only on Mac OS X)</b>'<br><br>
   
 <li>On page 7: In sidebar '<b class="broken">Another project, call m/b (short for mozilla/browser), addresses shortcomings</b>' has  <li>On page 7: In sidebar '<b class="broken">Another project, call m/b (short for mozilla/browser), addresses shortcomings</b>' has
 been changed to '<b class="fixed">The Phoenix project (http://www.mozilla.org/projects/phoenix/) also addresses  been changed to '<b class="fixed">The Phoenix project (http://www.mozilla.org/projects/phoenix/) also addresses
 shortcomings</b>'<br><br>  shortcomings</b>'<br><br>
   
<li>On page 7: In sidebar the Chimera URL '<b class="broken">http://chimera.mozdev.org</b>' has been changed to '<b<li>On page 7: In sidebar '<b class="broken">Some examples include Chimera (http://chimera.mozdev.org)</b>' has been changed to '<b 
class="fixed">http://www.mozilla.org/projects/chimera/</b>'<br><br>class="fixed">Some examples include Camino (http://www.mozilla.org/projects/camino/)</b>'<br><br>
   
 <li>On page 7: '<b class="broken">applications web built using XPFE</b>' has been  <li>On page 7: '<b class="broken">applications web built using XPFE</b>' has been
 changed to '<b class="fixed">applications built using XPFE</b>'<br><br>  changed to '<b class="fixed">applications built using XPFE</b>'<br><br>
Line 66  changed to '<b class="fixed">selecting F Line 82  changed to '<b class="fixed">selecting F
 <li>On page 20: '<b class="broken">CenterWindoOnScreen( ) function</b>' has been changed  <li>On page 20: '<b class="broken">CenterWindoOnScreen( ) function</b>' has been changed
 to '<b class="fixed">CenterWindowOnScreen( ) function</b>'<br><br>  to '<b class="fixed">CenterWindowOnScreen( ) function</b>'<br><br>
   
   <li>On page 25: '<b class="broken">Under that directory, create the three new directories, <i>content</i>, <i>locale</i>, and <i>skin</i>, as
   shown in Figure 2-5.</b>' has been changed to '<b class="fixed">Under that directory, create the three new directories, <i>content</i>,
   <i>locale</i>, and <i>skin</i>, as shown in Figure 2-5. The <i>locale</i> directory will have the default 'en-US' language pack
   structure.</b>'<br><br>
   
   <li>On page 25: There is 1 error in Figure 2-5 ...<br><br>
   
   1)  The <b class="fixed">locale folder should have an en-US subfolder</b>.<br><br>
   
   Here is a correct image <b>(Click for bigger version)</b>:<br><br>
   
   <a href="http://books.mozdev.org/screenshots/moz_0205.png"><img src="http://books.mozdev.org/screenshots/moz_0205_small.jpg" alt="New Figure 2-5"></a>
   
   <li>On page 31: In Example 2-14 '<b class="broken">locale/</b>' has been changed to '<b class="fixed">locale/en-US/</b>'<br><br>
   
   <li>On page 32: In Example 2-15 '<b class="broken">locale,install,url,resource:/chrome/xfly/locale/</b>' has been changed to '<b
   class="fixed">locale,install,url,resource:/chrome/xfly/locale/en-US/</b>'<br><br>
   
 </ul>  </ul>
   
   
Line 80  to '<b class="fixed">We've packed a lot  Line 114  to '<b class="fixed">We've packed a lot 
 <li>On page 35: '<b class="broken">secondLevelNodes[I] = docEl.childNodes[i];</b>' has been changed to '<b   <li>On page 35: '<b class="broken">secondLevelNodes[I] = docEl.childNodes[i];</b>' has been changed to '<b 
 class="fixed">secondLevelNodes[I] = docEl.childNodes[I];</b>'<br><br>  class="fixed">secondLevelNodes[I] = docEl.childNodes[I];</b>'<br><br>
   
   <li>On page 38: In Example 3-3 the namespace declarations have been changed to (note the addition of quotes and the removal of italics)
   
   <xmp class="fixed">
       xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
       xmlns:nc="http://home.netscape.com/NC-rdf#">
   </xmp>
   
   <li>On page 38: In Example 3-3 '<b class="broken">&lt;image src="page1.png"&gt;</b>' has been changed to '<b class="fixed">&lt;image 
   src="page1.png"/&gt;</b>'<br><br>
   
 <li>On page 40: '<b class="broken">&lt;toolbarbutton id="printBtn" label="Open"  <li>On page 40: '<b class="broken">&lt;toolbarbutton id="printBtn" label="Open"
 oncommand="doPrint( );" /&gt</b>' has been changed to '<b class="fixed">&lt;toolbarbutton  oncommand="doPrint( );" /&gt</b>' has been changed to '<b class="fixed">&lt;toolbarbutton
 id="printBtn" label="Print" oncommand="doPrint( );" &gt</b>'<br><br>  id="printBtn" label="Print" oncommand="doPrint( );" &gt</b>'<br><br>
Line 87  id="printBtn" label="Print" oncommand="d Line 131  id="printBtn" label="Print" oncommand="d
 <li>On page 51: '<b class="broken">&lt;decription&gt;The mozdev.org site [...] your own development project&lt;/decription&gt;</b>' has been   <li>On page 51: '<b class="broken">&lt;decription&gt;The mozdev.org site [...] your own development project&lt;/decription&gt;</b>' has been 
 changed to '<b class="fixed">&lt;description&gt;The mozdev.org site [...] your own development project&lt;/description&gt;</b>'<br><br>  changed to '<b class="fixed">&lt;description&gt;The mozdev.org site [...] your own development project&lt;/description&gt;</b>'<br><br>
   
   <li>On page 54: '<b class="broken">Clicking on the box sets the <tt>clicked</tt> attribute</b>' has been 
   changed to '<b class="fixed">Clicking on the box sets the <tt>checked</tt> attribute</b>'<br><br>
   
 <li>On pages 58 and 59: Example 3-15 has been changed to (note the addition of spaces to seperate values)  <li>On pages 58 and 59: Example 3-15 has been changed to (note the addition of spaces to seperate values)
   
 <xmp class="fixed">  <xmp class="fixed">
Line 114  changed to '<b class="fixed">&lt;descrip Line 161  changed to '<b class="fixed">&lt;descrip
 </window>  </window>
 </xmp>  </xmp>
   
   <li>On page 63: '<b class="broken">But there are also CSS versions of these properties that 
   use the prefix <tt>box-pack</tt> becomes <tt>box-pack</tt> when it's defined in CSS, for example.</b>' has been 
   changed to '<b class="fixed">But there are also CSS versions of these properties that 
   use the prefix <tt>box-</tt>. <tt>pack</tt> becomes <tt>box-pack</tt> when it's defined in CSS, for example.</b>'<br><br>
   
 </ul>  </ul>
   
   
Line 125  changed to '<b class="fixed">&lt;descrip Line 177  changed to '<b class="fixed">&lt;descrip
 <li>On page 88: '<b class="broken">these are selectors are identical</b>' has been changed to '<b class="fixed">these selectors are   <li>On page 88: '<b class="broken">these are selectors are identical</b>' has been changed to '<b class="fixed">these selectors are 
 identical</b>'<br><br>  identical</b>'<br><br>
   
<li>On page 109: '<b class="broken">The chome URL that the -moz-binding property points to</b>' has been changed to '<b<li>On page 109: '<b class="broken">The <i>chome</i> URL that the -moz-binding property points to</b>' has been changed to '<b
class="fixed">The chrome URL that the -moz-binding property points to</b>'<br><br>class="fixed">The <i>chrome</i> URL that the -moz-binding property points to</b>'<br><br>
   
 </ul>  </ul>
   
Line 147  class="fixed">The chrome URL that the -m Line 199  class="fixed">The chrome URL that the -m
 <li>On page 120: '<b class="broken">dump(l+'\n');</b>' has been changed to '<b class="fixed">dump(len+'\n');</b>'<br><br>  <li>On page 120: '<b class="broken">dump(l+'\n');</b>' has been changed to '<b class="fixed">dump(len+'\n');</b>'<br><br>
 </li>  </li>
   
<li>On page 135: Example 5-11 has been changed to<li>On page 123: Example 5-3
 <xmp class="broken">
 for (var i=0; i<chex.length; i++)
        chex[i].setAttributte("checked", "false");
 for (var i=0; i<unchex.length; i++)
        unchex[i].setAttributte("checked", "true");
 </xmp>
 has been changed to 
 <xmp class="fixed">  <xmp class="fixed">
   for (var i=0; i<chex.length; i++)
       chex[i].setAttribute("disabled", "false");
   for (var i=0; i<unchex.length; i++)
       unchex[i].setAttribute("disabled", "true");
   </xmp>
   <br>
   </li>
   
   <li>On page 135: Example 5-11 has been changed to
   <xmp class="fixed">
   <head>    <head>
     <title>Sound Service Play Example</title>      <title>Sound Service Play Example</title>
     <script>        <script>  
Line 170  class="fixed">The chrome URL that the -m Line 238  class="fixed">The chrome URL that the -m
     <form name="form">        <form name="form">  
       <input type="button" value="Play Sound" onclick="play();">          <input type="button" value="Play Sound" onclick="play();">  
     </form>        </form>  
   
 </xmp>  </xmp>
   
 <li>On page 137: '<b class="broken">var connection = Components.classes ["@mozilla.org/network/ldap-connection;1";</b>'   <li>On page 137: '<b class="broken">var connection = Components.classes ["@mozilla.org/network/ldap-connection;1";</b>' 
Line 182  class="fixed">The chrome URL that the -m Line 249  class="fixed">The chrome URL that the -m
 load('chrome/jslib/jslib.js');</b>'<br><br>  load('chrome/jslib/jslib.js');</b>'<br><br>
 </li>  </li>
   
  </ul></ul>
 
 <a name="ch06"></a>
 <p><b>Chapter 6</b>
 
 <ul>
 
 <li>On page 145: Example 6-1 has been changed to 
 
 <xmp class="fixed">
 var myFile = "xFly.jar";
 initInstall(                      // initialize the installation
   "Install xFly",                 // display name of installation
   "xFly",                         // package name
   "0.0.1",                        // version of install
   1);                             // flags - an optional argument, 
                                   // reserved for future use
 f = getFolder("Chrome");          // specify a target directory
 setPackageFolder(f);
 addFile(myFile);                  // add software to the installation
 registerChrome(
   PACKAGE | DELAYED_CHROME,       // chrome switch (i.e., type)
   getFolder("Chrome","xFly.jar"), // destination of package
   "content/xFly/");               // location of manifest in package
 if (0 == getLastError( ))         // if there have been no errors:
   performInstall( );              // install "xfly.jar"
 else                              // otherwise
   cancelInstall( );               // cancel the installation.
 </xmp>
 
 </ul>
 
 <a name="ch07"></a>
 <p><b>Chapter 7</b>
 
 <ul>
 
 <li>On page 181: There are 3 errors in Figure 7-2 ...<br><br>
 
 1)  In the XUL box, '<b class="broken">klabel="Input Field"</b>' should be '<b class="fixed">label="Input Field"</b>'<br><br>
 
 2)  In the XBL box, '<b class="broken">&lt;binding id+"inputfield"&gt;</b>' should be '<b class="fixed">&lt;binding id="inputfield"&gt;</b>'<br><br>
 
 3)  In the XBL box, '<b class="broken">&lt;xul:label xbl:inherits="value+label"?&gt;</b>' should be '<b class="fixed">&lt;xul:label xbl:inherits="value=label"/&gt;</b>'<br><br>
 
 Here is a correct image <b>(Click for bigger version)</b>:<br><br>
 
 <a href="http://books.mozdev.org/screenshots/moz_0702.gif"><img src="http://books.mozdev.org/screenshots/moz_0702_small.gif" alt="New Figure 7-2"></a>
 
 </li>
 
 </ul>
 
 </p>
   
 <a name="ch08"></a>  <a name="ch08"></a>
 <p><b>Chapter 8</b>  <p><b>Chapter 8</b>
   
 <ul>  <ul>
   
<li>On page 211: In 2nd sentence of paragraph '<b class="broken">QueryInterace</b>' has been changed to '<b <li>On page 211: In 2nd sentence of paragraph '<b class="broken">QueryInterace</b>' has been 
class="fixed">QueryInterface</b>'<br><br>changed to '<b class="fixed">QueryInterface</b>'<br><br></li>
   
<li>On page 222: In Example 8-4 '<b class="broken">mName: "a default value"</b>' has been changed to '<b class="fixed">mName: "a default <li>On page 222: In Example 8-4 has been changed to:
value",</b>'<br><br> 
   
<li>On page 222: In Example 8-4<xmp class="fixed">
 function SimpleComponent(){}
   
            <xmp class="broken">SimpleComponent.prototype = {
              this.myCID, 
              "My JS Component", 
              this.myProgID, fileSpec, 
              location, true, true, 
              type); 
            </xmp>             
   
has been changed to    get yourName()        { return this.mName; },
     set yourName(aName)   { return this.mName = aName; },
   
            <xmp class="fixed">                write: function () { dump("Hello " + this.mName + "\n"); },
              compMgr.registerComponentWithType(    change: function (aValue) { this.mName = aValue; },
              this.myCID,    mName: "a default value",
              "My JS Component",
              this.myProgID, fileSpec,    QueryInterface: function (iid) {
              location, true, true,        if (!iid.equals(Components.interfaces.nsISimple)
              type);            && !iid.equals(Components.interfaces.nsISupports))
            </xmp>                    {
             throw Components.results.NS_ERROR_NO_INTERFACE;
         }
         return this;
     }
 }
 
 var Module = {
     firstTime: true,
 
     registerSelf: function (compMgr, fileSpec, location, type) {
         if (this.firstTime) {
             dump("*** Deferring registration of simple JS components\n");
             this.firstTime = false;
             throw Components.results.NS_ERROR_FACTORY_REGISTER_AGAIN;
         }
         debug("*** Registering sample JS components\n");
         compMgr =
 compMgr.QueryInterface(Components.interfaces.nsIComponentRegistrar);
         compMgr.registerFactoryLocation(this.myCID,
                                         "Simple JS Component",
                                         this.myProgID,
                                         fileSpec,
                                         location,
                                         type);
     },
 
     getClassObject : function (compMgr, cid, iid) {
         if (!cid.equals(this.myCID))
         throw Components.results.NS_ERROR_NO_INTERFACE
         if (!iid.equals(Components.interfaces.nsIFactory))
         throw Components.results.NS_ERROR_NOT_IMPLEMENTED;
         return this.myFactory;
     },
 
     myCID: Components.ID("{98aa9afd-8b08-415b-91ed-01916a130d16}"),
     myProgID: "@mozilla.org/js_simple_component;1",
 
     myFactory: {
         createInstance: function (outer, iid) {
             dump("CI: " + iid + "\n");
             if (outer != null)
             throw Components.results.NS_ERROR_NO_AGGREGATION;
             return (new SimpleComponent()).QueryInterface(iid);
         }
     },
 
     canUnload: function(compMgr) {
         dump("****** Unloading: Simple JS component! ****** \n");
         return true;
     }
 }; // END Module
   
<li>On page 222: In Example 8-4 one of the duplicate '<b class="broken">dump(" ***** Registering: Simple JS component!function NSGetModule(compMgr, fileSpec) { return Module; }
****\n");</b>' lines has been removed<br><br></xmp>
 </li>
   
<li>On page 223: In Example 8-4 one of the duplicate '<b class="broken">if (outer != null)</b>' lines has been removed<br><br><li>On page 237: Example 8-13, line 9
 <xmp class="broken">
     NS_INIT_REFCNT( );  // has been depricated use NS_INIT_ISUPPORTS()
     mValue = PL_strdup("default value");
 </xmp>
 has been changed to 
 <xmp class="fixed">
     // NS_INIT_REFCNT( );  // has been depricated use NS_INIT_ISUPPORTS()
     NS_INIT_ISUPPORTS();
     mValue = PL_strdup("default value");
 </xmp>
 <br>
 </li>
   
<li>On page 239: Example 8-15 has been changed to <br/><li>On page 239: Example 8-15 has been changed to <br/></li>
   
 <xmp class="fixed">  <xmp class="fixed">
 DEPTH         = ../../..  DEPTH         = ../../..
Line 268  install:: $(TARGETS) Line 447  install:: $(TARGETS)
 <p><b>Chapter 9</b>  <p><b>Chapter 9</b>
   
 <ul>  <ul>
  <li>On page 257: In Example 9-7 <br>
    '<b><font color="#FF0000">&lt;triple subject=&quot;?listitem&quot;<br><li>On page 257: In Example 9-7
    predicate=&quot; http://xfly.mozdev.org/fly-rdf#location&quot;<br>
    object=&quot;?location&quot;/&gt;</font></b>' <br><xmp class="broken">
    has been changed to<br>        <triple subject="?listitem"
    '<b><font color="#009900">&lt;triple subject=&quot;?listitem&quot;<br>                predicate=" http://xfly.mozdev.org/fly-rdf#location"
    predicate=&quot;fly-location#location&quot;<br>                object="?location"/>
    object=&quot;?location&quot;/&gt;</font></b>'</li></xmp>
 
 has been changed to
 
 <xmp class="fixed">
         <triple subject="?listitem"
                 predicate="fly-location#location"
                 object="?location"/>
 </xmp>
 
 </ul>  </ul>
   
 <a name="ch10"></a>  <a name="ch10"></a>
 <p><b>Chapter 10</b>  <p><b>Chapter 10</b>
   
 <ul>  <ul>
  <li>On page 280: In Table 10-3 '<font color="#FF0000">Mostly used for retrieving, 
    datasources,<br><li>On page 280: In Table 10-3 '<b class="broken">Mostly used for retrieving, datasources, resources, and literals.</b>' has been
    resources, and literals</font>.' has been changed to '<font color="#009900">Mostly changed to '<b class="fixed">Mostly used for retrieving datasources, resources, and literals.</b>'<br><br>
    used for retrieving datasources,<br>
    resources, and literals</font>.'.<br><li>On page 297: '<b class="broken">http://www.jslib.mozdev.org</b>' has been changed to '<b
    <br>class="fixed">http://jslib.mozdev.org</b>'<br><br>
  </li>
  <li>On page 297: '<b class="broken">http://www.jslib.mozdev.org</b>' has been  
    changed to '<b class="fixed">http://jslib.mozdev.org</b>'<br> 
    <br> 
  </li> 
 </ul>  </ul>
   
   
Line 327  has been changed to (note the difference Line 511  has been changed to (note the difference
    print '  <checkbox label="%s" />' % form['op3'].value     print '  <checkbox label="%s" />' % form['op3'].value
 </xmp>  </xmp>
   
   <!--
 <li>On page 339: A new 'Certificate Authorities and Digital  <li>On page 339: A new 'Certificate Authorities and Digital
 Signatures' section is being written with drafts available on <a  Signatures' section is being written with drafts available on <a
 href="http://certs.mozdev.org">http://certs.mozdev.org</a><br><br>  href="http://certs.mozdev.org">http://certs.mozdev.org</a><br><br>
 </li>  </li>
   -->
   
 </ul>  </ul>
   
Line 342  href="http://certs.mozdev.org">http://ce Line 528  href="http://certs.mozdev.org">http://ce
   
 <li>On page 365: '<b class="broken">http://www.mozilla.org/source.tml</b>' has been changed to '<b  <li>On page 365: '<b class="broken">http://www.mozilla.org/source.tml</b>' has been changed to '<b
 class="fixed">http://www.mozilla.org/source.html</b>'<br><br>  class="fixed">http://www.mozilla.org/source.html</b>'<br><br>
   </li>
   
   <li>On page 367 and 368: CVS Instructions ...
   <br/><br/>
   Linux Instructions (p367)<br/>
   <xmp class="broken">
   1. Set the CVSROOT variable: 
       $ setenv CVSROOT :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot
   2. Log in as anonymous@cvs-mirror.mozilla.org using the password "anonymous":
   </xmp>
   
   has been changed to (note the adding to '=' after CVSROOT, 
   the changing of 'setenv' to 'export', 
   and the simplification of instruction 2)
   
   <xmp class="fixed">
   1. Set the CVSROOT variable: 
       $ export CVSROOT=:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot
   2. Log in using the password "anonymous":
   </xmp>
   
   <br/><br/>
   Windows Instructions (p368)<br/>
   <xmp class="broken">
   1. Set the CVSROOT variable: 
       > set CVSROOT :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot
   2. Log in as anonymous@cvs-mirror.mozilla.org using the password "anonymous":
   </xmp>
   
   has been changed to (note the adding to '=' after CVSROOT, 
   and the simplification of instruction 2)
   
   <xmp class="fixed">
   1. Set the CVSROOT variable: 
       > set CVSROOT=:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot
   2. Log in using the password "anonymous":
   </xmp>
   
   </li>
   
   </ul>
   
   <a name="index"></a>
   <p><b>Index</b>
   
   <ul>
   
   <li>
   On page 437: '<b class="broken">Chimera, 2</b>' has been changed to '<b class="fixed">Camino, 2</b>'<br><br>
   </li>
   
 </ul>  </ul>
   
   
 <br><br>  <br><br>
   
 <!-- ?php require(NOTES); ? -->  <!-- ?php require(NOTES); ? -->
 <?php $post_to_list=NO; $author='reviewers@mozdev.org'; $target_page='corrections'; require(NOTES); ?>  <?php $post_to_list=NO; $author='reviewers@mozdev.org'; $target_page='corrections'; require(NOTES); ?>
     
 </html>  
 </xmp>  
   
   

Removed from v.1.76  
changed lines
  Added in v.1.104


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>