# 2.11BSD#431 - /usr/src/games/trek/utility.c

##### Functions

    bmove             X
    concat            X
    length            X
    sequal            X
    syserr            X

       1: /*
       2:  * Copyright (c) 1980 Regents of the University of California.
       3:  * All rights reserved.  The Berkeley software License Agreement
       4:  * specifies the terms and conditions for redistribution.
       5:  */
       6:
       7: #ifndef lint
       8: static char sccsid[] = "@(#)utility.c	5.1 (Berkeley) 5/30/85";
       9: #endif not lint
      10:
      11: /*
      12: **  ASSORTED UTILITY ROUTINES
      13: */
      14:
      15: /*
      16: **  BLOCK MOVE
      17: **
      18: **	Moves a block of storage of length `l' bytes from the data
      19: **	area pointed to by `a' to the area pointed to by `b'.
      20: **	Returns the address of the byte following the `b' field.
      21: **	Overflow of `b' is not tested.
      22: */
      23:
      24: char *bmove(a, b, l)
      25: char    *a, *b;
      26: int l;
      27: {
      28:     register int        n;
      29:     register char       *p, *q;
      30:
      31:     p = a;
      32:     q = b;
      33:     n = l;
      34:     while (n--)
      35:         *q++ = *p++;
      36:     return (q);
      37: }
      38:
      39:
      40: /*
      41: **  STRING EQUALITY TEST
      42: **	null-terminated strings `a' and `b' are tested for
      43: **	absolute equality.
      44: **	returns one if equal, zero otherwise.
      45: */
      46:
      47: sequal(a, b)
      48: char    *a, *b;
      49: {
      50:     register char       *p, *q;
      51:
      52:     p = a;
      53:     q = b;
      54:     while (*p || *q)
      55:         if (*p++ != *q++)
      56:             return(0);
      57:     return(1);
      58: }
      59:
      60:
      61: /*
      62: **  STRING CONCATENATE
      63: **
      64: **	The strings `s1' and `s2' are concatenated and stored into
      65: **	`s3'.  It is ok for `s1' to equal `s3', but terrible things
      66: **	will happen if `s2' equals `s3'.  The return value is is a
      67: **	pointer to the end of `s3' field.
      68: */
      69:
      70: char *concat(s1, s2, s3)
      71: char    *s1, *s2, *s3;
      72: {
      73:     register char       *p;
      74:     register char       *q;
      75:
      76:     p = s3;
      77:     q = s1;
      78:     while (*q)
      79:         *p++ = *q++;
      80:     q = s2;
      81:     while (*q)
      82:         *p++ = *q++;
      83:     *p = 0;
      84:     return (p);
      85: }
      86:
      87:
      88: /*
      89: **  FIND STRING LENGTH
      90: **
      91: **	The length of string `s' (excluding the null byte which
      92: **		terminates the string) is returned.
      93: */
      94:
      95: length(s)
      96: char    *s;
      97: {
      98:     register int    l;
      99:     register char   *p;
     100:
     101:     l = 0;
     102:     p = s;
     103:     while (*p++)
     104:         l++;
     105:     return(l);
     106: }
     107:
     108:
     109: /*
     110: **  SYSTEM ERROR
     111: */
     112:
     113: syserr(p0, p1, p2, p3, p4, p5)
     114: {
     115:     extern int  errno;
     116:
     117:     printf("\n\07TREK SYSERR: ");
     118:     printf(p0, p1, p2, p3, p4, p5);
     119:     printf("\n");
     120:     if (errno)
     121:         printf("\tsystem error %d\n", errno);
     122:     exit(-1);
     123: }

#### Defined functions

bmove defined in line 24; used 12 times

- in /usr/src/games/trek/compkl.c line 79-81(3)
- in /usr/src/games/trek/events.c line 360-362(3)
- in /usr/src/games/trek/kill.c line 51, 91
- in /usr/src/games/trek/klmove.c line 121
- in /usr/src/games/trek/warp.c line 137-139(3)

concat defined in line 70; used 1 times

- in /usr/src/games/trek/getpar.c line 119

length defined in line 95; used 1 times

- in /usr/src/games/trek/out.c line 24

sequal defined in line 47; used 2 times

- in /usr/src/games/trek/destruct.c line 55
- in /usr/src/games/trek/setup.c line 73

syserr defined in line 113; used 5 times

- in /usr/src/games/trek/damage.c line 63
- in /usr/src/games/trek/main.c line 186
- in /usr/src/games/trek/schedule.c line 53
- in /usr/src/games/trek/setup.c line 135
- in /usr/src/games/trek/shell.c line 26

#### Defined variables

sccsid defined in line 8; never used

Last modified: 1985-05-30 Generated: 2016-12-26 | Generated by src2html V0.67 page hit count: 457 |