HDTenEightyP/NetNews huggingface dataset:
From: mycroft@hal.gnu.ai.mit.edu (Charles Hannum)
Subject: Re: Ethernet probs on upgrade (3.2.2)
Keywords: ethernet, 3.2
Organization: /etc/organization
Date: Mon, 27 Jul 1992 03:53:23 GMT


In article <4238@hq.hq.af.mil> chollenb@patty.hq.af.mil writes:
>
> I just upgraded 3 550's to 3.2.2 and wouldn't you know it, stuff
> that was working isn't anymore.  1 of the 3 came through relatively
> unscathed - the other 2 however, wont talk to ethernet.

How old are these machines?  They may have old PROMs on the Ethernet
boards.

  mycroft@hal [1]; lscfg -v -l ent0
    DEVICE            LOCATION          DESCRIPTION

    ent0              00-02             n/a

          Network Address.............XXXXXXXXXXXX
          ROS Level and ID............0027
          Displayable Message.........802.3/ETHERNET
          Part Number.................071F1182
          EC Level....................C73857
          Device Driver Level.........00
          Diagnostic Level............00
          FRU Number..................081F7913
          Serial Number...............XXXXXXXX
          Manufacturer................204491

  mycroft@hal [1];

Note the "ROS Level and ID".  If it's less than 14, you need to get the
appropriate engineering change.

-- 
- Charles Hannum, mycroft@ai.mit.edu
  White atheist male (WAM) pride!
Newsgroups: comp.unix.aix
From: lamy@sobeco.com (Jean-Francois Lamy)
Subject: Re: SUMMARY: dbx problems
Organization: Sobeco Ernst & Young
Date: Fri, 24 Jul 92 14:14:27 GMT

block@ief.itg.ti.com (Bucky Block) writes:
>: Funny thing, my application dies if I don't use the 3.1 malloc, 
>: does anyone know what the difference is between the two mallocs?


marca@void.ncsa.uiuc.edu (Marc Andreessen) writes:
>Because so many applications use memory incorrectly but work with the
>overly liberal 3.1 malloc, IBM decided to continue to supply it with 3.2;
>thus, the MALLOCTYPE variable.

malloc()/free() bugs, overruns on malloc-ed arrays and unexpected side-effects
on global variables get my top 3 spots as the most frequent causes for "the
compiler is broken" whines.  I cure the first two by pointing people at a
debugging malloc replacement (it is rather amusing to see people's faces when
code that runs on 6 platforms fails on a 7th -- and it's been a real bug all
along -- 3.1-style mallocs were very common but the trend is towards meaner
mallocs).

You may find it useful to compile and link with C. Cahill's dbmalloc library
recently posted to alt.sources; it is an "electric fence" malloc replacement
that allocates extra space in the malloced blocks and uses it to store a
"signature" and debugging data.  You can then ask that all malloc and free
calls result in a validity check of the heap, or initiate the sanity checks
yourself.  In case of corruption, it will try to pinpoint the likely cause of
the corruption (though this is not foolproof). You can also use the library to
spot memory leaks (as it can report the number of bytes that are in use).

It compiles and links out of the box on a variety of UNIX systems, including
AIX.  Porting to a UNIX variant not listed (RISC/os) was trivial (changing
CFLAGS).  Great piece of work.

Jean-Francois Lamy                                        |   lamy@sobeco.com
Computer Networks and Systems				  |   lamy@sobeco.ca
Sobeco Ernst & Young, Montreal, Canada H2Z 1Y7            |   uunet!sobeco!lamy
From: hourahaner@uproar.enet.dec.com
Newsgroups: comp.unix.aix
Subject: Re: NIS under AIX 3.2
Date: 31 Jul 92 16:24:05 GMT
Reply-To: hourahaner@uproar.enet.dec.com ()
Distribution: na
Organization: Digital Equipment Corporation


In article <36560@uflorida.cis.ufl.edu>, taylor@slc2.astro.ufl.edu
(Charlie Taylor) writes:
>Anyway, after about an hour or two of trying everything I could think of to
>determine the problem, I finally just did a "touch /etc/passwd" on one of the
>AIX NIS clients and, to my surprise, a "ps -ef" now gave the updated user
>name (yyyyyy in the example).  So the good news is that I know how to solve
>the problem.  The bad news is that such a solution seems to defeat the purpose
>of a distributed database.  Having to "touch" the client /etc/passwd files
>is only slightly better than having to edit them all by hand!
>
>Has anyone else seen this problem?  Is there any other way around it other
>than touching all the client /etc/passwd files?

While I have not had this problem, I beleive the problem is to do with 
the fact that ps produces a cache of various system information in a
file in /etc. This information contains various kernel addresses and the
like, but from the description of your problem it looks as if its caching 
the uid -> name mapping from the passwd file as well.

I can't think of any solution other than touching the passwd files or 
removing ps's cache files.



	Robin
From: DRAGON@SLACVM.SLAC.STANFORD.EDU (415)
Newsgroups: comp.unix.aix
Subject: Re: xlf compiler preprocessors
Date: 27 Jul 92 17:57:33 GMT
Organization: Stanford Linear Accelerator Center

You might take a look at the IBM "redbook" GG24-3611 _Performance Tuning
for Numerically Intensive FORTRAN and C Programs_.  The copy I have is old
and does not even mention the special preprocessors, -Pk and -Pv.  However,
it does talk about the optimization (-O) and even mentions an undocumented
feature (-qopt=3) which offers yet more optimization - at a cost of possibly
giving the wrong answer!  If this redbook has been updated for xlf v2.2,
this would be the place for the explanation you need.  Ask Jim Browne, our
SE, if he can investigate.  Also, you might ask him if there is an internal
IBM "forum" on performance optimization.  I have found the real-time forum
a virtual treasure trove of useful (and undocumented) information.

My guess would be to try the best preprocessor (-Pk ??) AND the -O
optimization as suggested by info
 "For maximum optimization, the following command line options should be used:
   -Wp, -OPTIMIZE=5, -SCALAROPT=3, -ROUNDOFF=3"

I would be interested to know what you finally come up with!
From: julie@levell.austin.ibm.com (Julie L. Craft)
Newsgroups: comp.unix.aix
Subject: Re: problem with putuserpw subroutine
Date: 28 Jul 92 16:37:37 GMT
Organization: IBM, Austin

In article <1992Jul23.225734.9999@slate.mines.colorado.edu> bware@slate.mines.colorado.edu (Bob Ware) writes:
>Has anyone had success using the putuserpw subroutine?  
>
>The getuserpw subroutine seems to work as advertised, but the putuserpw
>routine always bombs with errno pointing to:
>
>	Only the owner or a privileged user can perform the operation.
>
>This even happens when the struct provided as the argument for the
>routine is what is returned from getuserpw, so I know it is not a
>problem with the contents of the struct.
>
>For example, the following program:
>
>	#include <userpw.h>
>	#include <errno.h>

	#include <usersec.h>

>	main()
>	{
>		struct userpw *pwptr;

        	/* update /etc/security/passwd */
        	setpwdb (S_READ | S_WRITE );

>	
>		perror("before getuserpw");
>		pwptr = getuserpw("studente");
>		perror("after getuserpw");
>		putuserpw(pwptr);
>		perror("after putuserpw");

	        endpwdb();

>	}
>
>produces the following output when run as 'root':
>
>	before getuserpw: Error 0
>	after getuserpw: Error 0
>	after putuserpw: Only the owner or a privileged user can perform the operation.
>
>Yes, root has write permission for /etc/security/passwd.  This happens
>when run on both AIX 3.1.6 and 3.2.0.
>
>Is this a bug in AIX???


	No, you need to set up the "database" to be able to 
	READ and WRITE to it.  By default, if you don't call setpwdb,
	then you get READ access.

>
>-- 
>Bob Ware, System Administrator 
>Computing and Networking, Colorado School of Mines, Golden, Co 80401, USA
>(303) 273-3987
>bware@mines.colorado.edu bware@mines.bitnet

	Let me know if this doesn't work for you.

Later,
Julie
-- 
*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
Julie Levell Craft IBM AUSTIN,TX  Internet: julie@aixwiz.austin.ibm.com
IBMNET: JULIEL at AUSVM6 2F-007/903  (512) 838-2677 (Tie 678-2677)
"I'm not getting defensive!"
Lines: 26
Date: Mon, 27 Jul 92 13:59:46 MDT
From: ecktons@sirius.byu.edu (Sean Eckton)
Newsgroups: comp.unix.aix
Subject: Need help with mail under AIX 3.1 (or actually I guess it is 3.2).
Keywords: AIX, sendmail, MX Records...
Reply-To: ecktons@sirius.byu.edu (Sean Eckton)


We are trying to set up an RS-6000 to take the place of a NeXT we are using  
on campus here.  Right now, the NeXT is doing nameservice and also acting as  
a mail gateway for the PC networks on campus.  Any mail that is sent from a  
PC is sent to the NeXT because it is a smart mail system.  The PC gateways  
can not send mail to anyone except the smart mail host which takes care of  
sending it where it needs to go.  The RS-6000 can handle nameservice with no  
problem (I'm sure), but mail is another story.  Since we can use one PC as  
the dumb mail gateway for, I believe, up to 6 novell servers (we are using  
Pegasus mail with Charon gateways), we are using a large amount of MX records  
in our nameservice.  The problem I have found is that the RS-6000 doesn't  
recorgnize MX records!  Does anyone know how to fix this?  I also had the  
same problem with an IBM RT running AIX 2.2.1.  Did IBM just decide to not  
support MX records even though in the nameservice documentation it talks  
about them?  I don't get it!

The bottom line:  how can I get an RS-6000 to recognize MX (mail exchanger)  
records.

--
Sean Eckton

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Internet:  ecktons@sirius.byu.edu      Brigham Young University, Provo, UT.
Packet Radio:  kd6bik @ wb7esh.#orem.ut.usa.na
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Newsgroups: comp.unix.aix
From: prisaac@plan000.lerc.nasa.gov (Rincy Isaacs)
Subject: Internal Drive for Model 930 - SCSI
Keywords: SCSI, 930, Disk
Organization: NASA Lewis Research Center
Distribution: comp.unix.aix
Date: Thu, 30 Jul 1992 17:50:29 GMT

I would be interested to hear from anyone (especially from those who
have an RS/6000 Model 930).  

We've got one that came pre-installed with 2 670MB SCSI drives in the 
top drawer.  There is one slot free.  I wanted to add another internal
disk in there, but the folks here say only 2 disks are allowed in the
current configuration.  

I am told that I could add another CD-ROM with no problem!  This means, 
to add more disk capacity I'd have to buy another disk drawer!

Has anybody heard of this.  Do you know why?  Thanks in advance.

--
=============================+++++++++++++++++============================
Rincy Isaacs, Sverdrup Technology, Inc., NASA Lewis Research Center,
Cleveland, Ohio                         | 
E-mail: prisaac@plan000.lerc.nasa.gov   | PAX VOBISCUM
Voice: (216) 433-2148                   |
==========================================================================
From: paw@coos.dartmouth.edu (Pat Wilson)
Newsgroups: comp.unix.aix
Subject: /etc/shutdown -> 888?
Date: 30 Jul 92 21:36:28 GMT
Organization: Dartmouth College, Hanover, NH

I'm setting up an AIX 3.2(.1) system, and have several times now
had the machine "crazy eight" when I did an "/etc/shutdown -r now".
Does this happen to anyone else?

--
Pat Wilson
Systems Manager, Project NORTHSTAR
paw@northstar.dartmouth.edu
Newsgroups: comp.unix.aix
From: doug@cc.ysu.edu (Doug Sewell)
Subject: ptys and getpwnam()
Organization: Youngstown State University
X-Newsreader: Tin 1.1 PL4
Date: Thu, 30 Jul 1992 14:10:15 GMT

I'm running aix 3.1.5, and am having strange problem with pty-creating
applications (script, screen, etc) - getpwnam() isn't always returning
the correct user entry.

For example, if I run the sample program below, I get correct output:

"getpwnam() returned 101 doug Doug Sewell,Computer Center"

but if I run it inside 'script', I get

"getpwnam() returned 294 fred Fred Ullom,Computer Center"

If inside script, I do a 'who am I', it shows me on pts/2.  If I
do a 'last -30 | grep pts/2', I see that the last person to log
on via pts/2 is fred.

The pts that I'm telneted to before I run 'script' is pts/3, for
what that's worth.

Is this a bug ??? Has it been fixed ???  Is there a workaround ?

Here's my test program (called 'tinbug.c', since it first showed up
as a problem in the 'tin' newsreader):

#! /bin/sh
# This is a shell archive.  Remove anything before this line,
# then unpack it by saving it in a file and typing "sh file".
#
# Wrapped by doug on Thu Jul 30 10:08:40 EDT 1992
# Contents:  tinbug.c
 
echo x - tinbug.c
sed 's/^@//' > "tinbug.c" <<'@//E*O*F tinbug.c//'
#include <stdio.h>
#include <pwd.h>
main(argc,argv)
int argc;
char *argv[];
{
extern char *getlogin();
char *p;
extern struct passwd *getpwnam();
extern struct passwd *getpwuid();
struct passwd *myentry;

myentry = (struct passwd *) 0;

if (((p = getlogin()) != (char *) 0) && strlen(p)) {
@	myentry = getpwnam(p);
@	printf("getpwnam() returned %d %s %s\n",
@	myentry->pw_uid, myentry->pw_name, myentry->pw_gecos);
@	}
else {
@	myentry = getpwuid(getuid());
@	printf("getpwuid(getuid()) returned %d %s %s\n",
@	myentry->pw_uid, myentry->pw_name, myentry->pw_gecos);
@	}
return 0;
}
@//E*O*F tinbug.c//
chmod u=rw,g=r,o= tinbug.c
 
exit 0
--
Doug Sewell, Tech Support, Computer Center, Youngstown State University
doug@cc.ysu.edu	   doug@ysub.bitnet	<internet>!cc.ysu.edu!doug
"Recession: your friend loses his job.  Depression: you lose your job.
Recovery: Bush loses his job" - Bill Davidsen
Newsgroups: comp.unix.aix
From: mberkley@visions.uvic.ca (Mike  Berkley)
Subject: Re: Fortran compiler with VAX Fortran extensions?
Reply-To: mberkley@sirius.uvic.ca (J. Michael Berkley)
Organization: University of Victoria
Date: 21 Jul 92 08:40:20

> On 20 Jul 92 02:32:24 GMT, jdh@bsu-cs.bsu.edu (John Hiday) said:

JH> To save time on porting several large pieces of Fortran code from
JH> VMS to AIX, I'm looking for a Fortran compiler on AIX that
JH> understands VAX Fortran extensions.  I have been told that the IBM
JH> one does not.  If you know of any third party Fortran compilers
JH> which fit this bill, or have information otherwise about the IBM
JH> compiler I would appreciate hearing from you.

The company that I work for has developed a Fortran translator, ETRAN,
which will translate VMS Fortran extensions into AIX Fortran.  We
chose to use a translator/preprocessor so that users could take
advantage of the optimized AIX Fortran compiler (xlf).

IBM Dallas evaluated ETRAN extensively for a number of their clients
(we still use their torturous code for testing :-), and IBM Canada now
markets ETRAN as their solution for clients wishing to migrate from
VMS to AIX.

John, would you please send me your FAX number and then I can arrange
to have more information sent to you.  Thank You.


                Mike Berkley
                Barrodale Computing
                Phone: (604)721-2206
                Email: mberkley@sirius.UVic.CA
Newsgroups: comp.unix.aix
From: lwvanels@athena.mit.edu (Lucien W. Van Elsen)
Subject: chpriv/statpriv?
Reply-To: lwvanels@MIT.EDU
Organization: Massachusetts Institute of Technology
Date: Thu, 30 Jul 1992 18:51:55 GMT

Well, I'm off on another digging expedition- does anyone what these system
calls do, or where they are documented?  Digging through Info-Explorer
results in finding tangental references to Privledge control lists (PCL's),
and it looks like /usr/include/sys/pcl.h gives the format of these- are
these the system calls to manipulate them?  Additionally, under
/usr/include/sys/vattr.h, the reference to struct pcl has been commented out
in the vattr struct- does that mean whatever function these PCL's had is on
the way out as well?

	-Lucien

As a sidenote- you know, it really doesn't bother me that much when AIX does
something that isn't "standard U*IX".  What really annoys me is when they
fail to document it.

----------------------------------------------------------------------------
Lucien Van Elsen               | lwvanels@athena.mit.edu
MIT Athena Systems Development |
From: jacobs@rios.cs.utk.edu (Paul Jacobs)
Newsgroups: comp.unix.aix
Subject: tickadj/xntp (rs6000 AIX 3.2)
Followup-To: comp.unix.aix
Date: 28 Jul 92 18:25:06 GMT
Organization: Univ. of Tenn. Computer Science, Knoxville
Distribution: world
Reply-To: jacobs@cs.utk.edu
NNTP-Posting-Host: rios.cs.utk.edu
Keywords: xntp, tickadj, kernal, AIX 3.2, aix 3.2, rs6000


Hi!

I'm trying to set up xntp to work on an rs6000 running AIX 3.2.
ntpdate and xntpd are not complaining when I start them up, but
I don't know if they are working.  However, tickadj complains:

# /usr/local/etc/tickadj -Aqs 
/usr/local/etc/tickadj: namelist can't find `_tickadj'
/usr/local/etc/tickadj: namelist can't find `_tick'

According to the README file associated with this module, it 
"reads a couple of values from your kernel using /dev/kmem (ugh!),
 the value of `tick' and the value of `tickadj'."  Has anyone
resolved this problem before?  Or does anyone know where to find
the values for tick and tickadj.

Oh, by the way, "`tick' is expected to be the number of microseconds
which are added to the system time on timer interrupts when the
clock isn't being slewed. `tickadj' is the number of microseconds
which are added or subtracted from tick when the clock is being slewed."

Any input would be greatly appreciated.  Thank you.

Paul
From: brent@ughtas (Brent Terry)
Newsgroups: comp.unix.aix
Subject: Re: scsi disc driver on aix
Date: 21 Jul 92 18:59:39 GMT
Organization: Pencom Software

In article <711399314.29943@minster.york.ac.uk> forsyth@minster.york.ac.uk  
writes:
> i've been told by ibm that special scsi driver modules are required for
> third party scsi discs [aix 3.1.7].  is that true?
> it was someone at ibm who said it, and although i was sceptical, i  
couldn't argue
> because i've seen worse with aix.
> we bought the machine because it had scsi, but we hadn't realised it had  
been
> nobbled in this way.  it's really SNA, is that it??
> 
> what about the service-mode diagnostics, and the version 2 diagnostic  
diskettes?
> 
> i know about the scsi tape driver problems with non-ibm exabytes before  
3.2,
> but my impression was that this was regarded as a bit of a bug, and has  
now been fixed in 3.2.
> even so, i'm surprised that one needs third party drivers for reasonable  
scsi discs.  for instance,
> my new UltraStor adapter card on my 486 comes with a BIOS rom that can
> do more -- much more.  come to think of it, it copes with tapes, too.

I believe that your information is wrong. Third party disks are supported  
in 3.1.7.  They should come up as osdisks (Other Scsi Disks).

By the way, the problem with the tape drives on 3.1.7 is due to the wide  
variety of implementations by the tape vendors (Exabyte vs. Tandem etc.)
And I bet the UltraStor card doesn't handle 8mm tape drives because most  
486's don't have 1GB or more of disk space. I don't know this for sure, it  
is just a guess. It was Exabytes implementation that caused all the  
confusion (IMHO). They did some things different than the previous tape  
drive vendors (which is why you can now fit up to 25GB on a 8mm tape).

Just my two cents worth.

Brent
From: albani@cadlab.sublink.org (Lanfranco Albani)
Newsgroups: comp.unix.aix
Subject: Re: Multiple tars on a tape. Me too !!
Date: 28 Jul 92 12:15:40 GMT
Organization: CAD.LAB S.p.A., Bologna, Italia

che358w@vaxc.cc.monash.edu.au writes:
:   I want to do multiple tars onto one tape. Say a tar of all my files this
:week and another one next week and still be able to restore the files from
:either archive at some later date.  This is what I've tried.
:      tar -cvf/dev/rmt0.1 *
:      tctl -f/dev/rmt0.1 rewind
:      tctl -f/dev/rmt0.1 fsf 1
:      tar -cvf/dev/rmt0.1 *
:At this point I get a tar error message about invalid parameter passed to system.
:Or some such nonsense. Can anyone tell me how I really should do this ?

/dev/rmt0.1 is a NO-rewind device, so you don't need to rewind it.

tar cvf /dev/rmt0.1 *  is dangerous as the '*' is expanded by the
shell and the result can easily overrun the input buffer of tar.
Change that "*" (star) with "." (dot).

Bye, Lanfranco

-- 
Lanfranco Albani - CAD.LAB s.p.a., v. Ronzani 7/29, Casalecchio, Italia
Email: (work:) albani@cadlab.sublink.org, (home:) bob@allan.sublink.org
Phone: (work:) ++39 (51) 6130360, (home:) ++39 (51) 727372; 
Fax: ++39 (51) 6130294 (work only), Fidonet: 2:332/407.1138 (home only).
Newsgroups: comp.unix.aix
From: ron@sarah.lerc.nasa.gov (Ron Gaug)
Subject: xlf -qextchk
Reply-To: ron@sarah.lerc.nasa.gov
Organization: Computational Materials Laboratory, NASA Lewis Research Center
X-Newsreader: GNU Emacs 18.58.2, GNUS 3.14.1, NNTP 3.10
Date: Mon, 27 Jul 1992 04:36:57 GMT

Hello

Does anyone know how to get some useful diagnostics from the xlf compiler's
extchk option? Here's an excerpt from the xlf manual page:

            extchk      Perform procedure interface checking as well as
                        detection of mismatched common blocks.

Consider the following intentionally non-error free fortran 77 program:

	[hilbert]:512% cat extchk_bug.f
	      double precision function foo(bar)
	      integer bar
	      foo = bar * 42
	      return
	      end
	      program xyzzy
	C foo should be declared as double precision
	C     arg should be 69 (integer) not 69.0
	      write(*, *) foo(69.0)
	      stop
	      end

Using the following version of the xlf compiler:
        [hilbert]:513% lslpp -h xlfcmp.obj
        Option Name          State      Event      Date      Release         User Name
        -------------------- ---------- ---------- --------- --------------- ----------
        xlfcmp.obj           ACTIVE     COMMIT     12/19/91  02.02.0000.0000 root

Now, let's compile:

        [hilbert]:514% xlf -v -qextchk -qsource extchk_bug.f
        exec: /usr/lpp/xlf/bin/xlfentry(xlfentry,extchk_bug.f,/tmp/F8FNsCkR,extchk_bug.lst,xlfsmsg.cat,xlfmsg.cat,EXTCHK,SOURCE,NULL)
        ** foo   === End of Compilation 1 ===
        ** xyzzy   === End of Compilation 2 ===
        1501-510  Compilation successful for file extchk_bug.f.
        0706-316 Error: Type mismatches detected. References dumped to load map.
        unlink: /tmp/F8FNsCkR0
        unlink: /tmp/F8FNsCkR1
        unlink: /tmp/F8FNsCkR

	[hilbert]:515% ls -l
	total 24
	drwxr-xr-x   2 ron      faculty      512 Jul 25 21:10 ./
	drwxrwxrwt   7 bin      bin         8192 Jul 25 21:10 ../
	-rw-r--r--   1 ron      faculty      259 Jul 25 20:31 extchk_bug.f
	-rw-r--r--   1 ron      faculty     4296 Jul 25 21:10 extchk_bug.lst

	[hilbert]:516% tail -2 extchk_bug.lst
	1501-510  Compilation successful for file extchk_bug.f.
	1501-543  Object file created.

Trust me, there were no diagnostics relating to the extchk option in the
listing file. So let's review the facts.
The compilation was successful and an object file was created.
[It actually did create an object file, then promplty deleted it. :-) ]
And the references to the type mismatches that were detected were dumped
to the load map.  Now if I could just get a load map. :-) And where's my a.out?
If only /bin/ld had been executed, it might have been possible.

So, can anyone give me some hints?
	Newer version of compiler?
	Just add the -qxyzzy option?

Ron Gaug					ron@sarah.lerc.nasa.gov
N.A.S.A. Lewis Research Center			
Computational Materials Laboratory
Cleveland, OH 44135

P.S.: I originally tried this on a several thousand line file of
code.  The compiler eventually complained about deceased bovine. :-)
So, I decided to try it on a small controlled test case.