1: /*
   2:  * Copyright (c) 1988 Regents of the University of California.
   3:  * All rights reserved.
   4:  *
   5:  * Redistribution and use in source and binary forms are permitted
   6:  * provided that this notice is preserved and that due credit is given
   7:  * to the University of California at Berkeley. The name of the University
   8:  * may not be used to endorse or promote products derived from this
   9:  * software without specific prior written permission. This software
  10:  * is provided ``as is'' without express or implied warranty.
  11:  *
  12:  *  Sendmail
  13:  *  Copyright (c) 1983  Eric P. Allman
  14:  *  Berkeley, California
  15:  */
  16: 
  17: #if !defined(lint) && !defined(NOSCCS)
  18: static char sccsid[] = "@(#)trace.c	5.4 (Berkeley) 3/13/88";
  19: #endif /* not lint */
  20: 
  21: # include "sendmail.h"
  22: 
  23: /*
  24: **  TtSETUP -- set up for trace package.
  25: **
  26: **	Parameters:
  27: **		vect -- pointer to trace vector.
  28: **		size -- number of flags in trace vector.
  29: **		defflags -- flags to set if no value given.
  30: **
  31: **	Returns:
  32: **		none
  33: **
  34: **	Side Effects:
  35: **		environment is set up.
  36: */
  37: 
  38: u_char      *tTvect;
  39: int     tTsize;
  40: static char *DefFlags;
  41: 
  42: tTsetup(vect, size, defflags)
  43:     u_char *vect;
  44:     int size;
  45:     char *defflags;
  46: {
  47:     tTvect = vect;
  48:     tTsize = size;
  49:     DefFlags = defflags;
  50: }
  51: /*
  52: **  TtFLAG -- process an external trace flag description.
  53: **
  54: **	Parameters:
  55: **		s -- the trace flag.
  56: **
  57: **	Returns:
  58: **		none.
  59: **
  60: **	Side Effects:
  61: **		sets/clears trace flags.
  62: */
  63: 
  64: tTflag(s)
  65:     register char *s;
  66: {
  67:     int first, last;
  68:     register int i;
  69: 
  70:     if (*s == '\0')
  71:         s = DefFlags;
  72: 
  73:     for (;;)
  74:     {
  75:         /* find first flag to set */
  76:         i = 0;
  77:         while (isdigit(*s))
  78:             i = i * 10 + (*s++ - '0');
  79:         first = i;
  80: 
  81:         /* find last flag to set */
  82:         if (*s == '-')
  83:         {
  84:             i = 0;
  85:             while (isdigit(*++s))
  86:                 i = i * 10 + (*s - '0');
  87:         }
  88:         last = i;
  89: 
  90:         /* find the level to set it to */
  91:         i = 1;
  92:         if (*s == '.')
  93:         {
  94:             i = 0;
  95:             while (isdigit(*++s))
  96:                 i = i * 10 + (*s - '0');
  97:         }
  98: 
  99:         /* clean up args */
 100:         if (first >= tTsize)
 101:             first = tTsize - 1;
 102:         if (last >= tTsize)
 103:             last = tTsize - 1;
 104: 
 105:         /* set the flags */
 106:         while (first <= last)
 107:             tTvect[first++] = i;
 108: 
 109:         /* more arguments? */
 110:         if (*s++ == '\0')
 111:             return;
 112:     }
 113: }

Defined functions

Defined variables

DefFlags defined in line 40; used 2 times
sccsid defined in line 18; never used
tTsize defined in line 39; used 5 times
tTvect defined in line 38; used 2 times
Last modified: 1988-09-14
Generated: 2016-12-26
Generated by src2html V0.67
page hit count: 941
Valid CSS Valid XHTML 1.0 Strict