BSD 4_3_Net_2 release
[unix-history] / usr / src / games / atc / log.c
index a558291..5872583 100644 (file)
@@ -1,3 +1,39 @@
+/*-
+ * Copyright (c) 1990 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to Berkeley by
+ * Ed James.
+ *
+ * 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.
+ */
+
 /*
  * Copyright (c) 1987 by Ed James, UC Berkeley.  All rights reserved.
  *
 /*
  * Copyright (c) 1987 by Ed James, UC Berkeley.  All rights reserved.
  *
  */
 
 #ifndef lint
  */
 
 #ifndef lint
-static char sccsid[] = "@(#)log.c      5.2 (Berkeley) %G%";
+static char sccsid[] = "@(#)log.c      5.7 (Berkeley) 10/30/90";
 #endif not lint
 
 #include "include.h"
 #endif not lint
 
 #include "include.h"
+#include "pathnames.h"
 
 compar(a, b)
        SCORE   *a, *b;
 
 compar(a, b)
        SCORE   *a, *b;
@@ -56,19 +93,16 @@ log_score(list_em)
        register int    i, fd, num_scores = 0, good, changed = 0, found = 0;
        struct passwd   *pw;
        FILE            *fp;
        register int    i, fd, num_scores = 0, good, changed = 0, found = 0;
        struct passwd   *pw;
        FILE            *fp;
-       char            *cp, logstr[BUFSIZ];
+       char            *cp, *index(), *rindex();
        SCORE           score[100], thisscore;
 #ifdef SYSV
        struct utsname  name;
 #endif
 
        SCORE           score[100], thisscore;
 #ifdef SYSV
        struct utsname  name;
 #endif
 
-       strcpy(logstr, SPECIAL_DIR);
-       strcat(logstr, LOG);
-
        umask(0);
        umask(0);
-       fd = open(logstr, O_CREAT|O_RDWR, 0644);
+       fd = open(_PATH_SCORE, O_CREAT|O_RDWR, 0644);
        if (fd < 0) {
        if (fd < 0) {
-               perror(logstr);
+               perror(_PATH_SCORE);
                return (-1);
        }
        /*
                return (-1);
        }
        /*
@@ -77,7 +111,7 @@ log_score(list_em)
         */
        fp = fdopen(fd, "r+");
        if (fp == NULL) {
         */
        fp = fdopen(fd, "r+");
        if (fp == NULL) {
-               perror(logstr);
+               perror(_PATH_SCORE);
                return (-1);
        }
 #ifdef BSD
                return (-1);
        }
 #ifdef BSD
@@ -128,7 +162,7 @@ log_score(list_em)
                cp++;
                strcpy(thisscore.game, cp);
 
                cp++;
                strcpy(thisscore.game, cp);
 
-               thisscore.time = clock;
+               thisscore.time = clck;
                thisscore.planes = safe_planes;
                thisscore.real_time = time(0) - start_time;
 
                thisscore.planes = safe_planes;
                thisscore.real_time = time(0) - start_time;
 
@@ -139,6 +173,8 @@ log_score(list_em)
                                if (thisscore.time > score[i].time) {
                                        score[i].time = thisscore.time;
                                        score[i].planes = thisscore.planes;
                                if (thisscore.time > score[i].time) {
                                        score[i].time = thisscore.time;
                                        score[i].planes = thisscore.planes;
+                                       score[i].real_time =
+                                               thisscore.real_time;
                                        changed++;
                                }
                                found++;
                                        changed++;
                                }
                                found++;