BSD 4_4 release
[unix-history] / usr / src / usr.bin / pascal / pxp / main.c
index 222f86b..82215af 100644 (file)
@@ -1,6 +1,46 @@
-static char *sccsid = "@(#)main.c      2.1 (Berkeley) %G%";
-/* Copyright (c) 1979 Regents of the University of California */
-#
+/*-
+ * Copyright (c) 1980, 1993
+ *     The Regents of the University of California.  All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ *    must display the following acknowledgement:
+ *     This product includes software developed by the University of
+ *     California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ *    may be used to endorse or promote products derived from this software
+ *    without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#ifndef lint
+static char copyright[] =
+"@(#) Copyright (c) 1980, 1993\n\
+       The Regents of the University of California.  All rights reserved.\n";
+#endif /* not lint */
+
+#ifndef lint
+static char sccsid[] = "@(#)main.c     8.1 (Berkeley) 6/6/93";
+#endif /* not lint */
+
 /*
  * pxp - Pascal execution profiler
  *
 /*
  * pxp - Pascal execution profiler
  *
@@ -30,7 +70,7 @@ static        char *sccsid = "@(#)main.c      2.1 (Berkeley) %G%";
 char   usagestr[] =
        "pxp [ -acdefjntuw_ ] [ -23456789 ] [ -z [ name ... ] ] name.p";
 char   *howfile =      "/usr/lib/how_pxp";
 char   usagestr[] =
        "pxp [ -acdefjntuw_ ] [ -23456789 ] [ -z [ name ... ] ] name.p";
 char   *howfile =      "/usr/lib/how_pxp";
-char   *stdoutn =      "Standard output";
+char   stdoutn[20] =   "Standard output";
 
 int    unit =  4;
 
 
 int    unit =  4;
 
@@ -51,7 +91,7 @@ main(argc, argv)
        register c;
 
        if (argv[0][0] == 'a')
        register c;
 
        if (argv[0][0] == 'a')
-               howfile =+ 9;
+               howfile += 9;
        argc--, argv++;
        if (argc == 0) {
                execl("/bin/cat", "cat", howfile, 0);
        argc--, argv++;
        if (argc == 0) {
                execl("/bin/cat", "cat", howfile, 0);
@@ -179,16 +219,13 @@ usage:
        if (onefile) {
                int onintr();
 
        if (onefile) {
                int onintr();
 
-               cp = (stdoutn = "/tmp/pxp00000") + 13;
+               cp = strcpy(stdoutn, "/tmp/pxp00000") + 13;
                signal(2, onintr);
                signal(2, onintr);
-               for (c = getpid(); c; c =/ 10)
-                       *--cp =| (c % 10);
+               for (c = getpid(); c; c /= 10)
+                       *--cp |= (c % 10);
                if (freopen(stdoutn, "w", stdout) == NULL)
 bad:
                        perror(stdoutn), exit(1);
                if (freopen(stdoutn, "w", stdout) == NULL)
 bad:
                        perror(stdoutn), exit(1);
-       } else {
-               extern char _sobuf[BUFSIZ];
-               setbuf(stdout, _sobuf);
        }
        if (profile || opt('l')) {
                opt('n')++;
        }
        if (profile || opt('l')) {
                opt('n')++;
@@ -210,7 +247,7 @@ header()
        static char reenter;
        extern int outcol;
 
        static char reenter;
        extern int outcol;
 
-       gettime();
+       gettime(filename);
        if (reenter) {
                if (outcol)
                        putchar('\n');
        if (reenter) {
                if (outcol)
                        putchar('\n');