File:  [Power 6/32 Unix Tahoe 4.2BSD] / cci / usr / src / usr.bin / cdb / transBsd / misc.c
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs
Sun Jul 28 12:25:33 2019 UTC (7 years ago) by root
Branches: bsd, MAIN
CVS tags: v121, HEAD
Power 6/32 Unix version 1.21

/* $Header: /var/lib/cvsd/repos/cci/cci/usr/src/usr.bin/cdb/transBsd/misc.c,v 1.1.1.1 2019/07/28 12:25:33 root Exp $ */
/* (C) Copyright 1985 Third Eye Software, Inc. - All Rights Reserved */

#include "tes42.h"


/* D O   R   B R A C */

export void DoRBrac(nlist)
pNLISTR	nlist;
{
    pSYMR	symEnd, symStart;

    symEnd = SymFInsert();
    symEnd->st = stEnd;
    symEnd->sc = scText;
    symEnd->value = vrgFd[vifd].adr + nlist->n_value;
    if (symEnd->value < vdot) {
	if (vfWarn)
	   printf("Warning: incorrect address in RBRAC symbol: %d, %lx < %lx\n",
		    visym, symEnd->value, vdot);
	    symEnd->value = vdot;
    } /* if */
    symStart = vrgSymBrac[nlist->n_desc];
    symEnd->index = IsymFSym(symStart);
    symStart->index = IsymFSym(symEnd) + 1;
    if (symStart->value > symEnd->value) {
	if (vfWarn)
	   printf("Warning: incorrect address in LBRAC symbol: %d, %lx > %lx\n",
		    symEnd->index, symStart->value, symEnd->value);
	symStart->value = vsymProc->value;
    } /* if */
    vdot = symEnd->value;
} /* DoRBrac */


/* D O   L   B R A C */

export void DoLBrac(nlist)
pNLISTR	nlist;
{
    pSYMR	sym;
    LINER	aline;

    if (vfBlockPending) {
	sym = vsymBlock;
	vfBlockPending = false;
    } else {
	sym = SymFInsert();
    } /* if */
    sym->st = stBlock;
    sym->sc = scText;
    sym->value = vrgFd[vifd].adr + nlist->n_value;
    if (sym->value < vdot)
	printf("Warning: incorrect address in RBRAC symbol: %d, %lx < %lx\n",
		visym, sym->value, vdot);
    vdot = sym->value;
    vrgSymBrac[nlist->n_desc] = sym;
} /* DoLBrac */


/* F   C O M P L E X   B T */

FComplexBt(bt)
int	bt;
{
    switch (bt) {
	case btUnion:
	case btStruct:
	case btEnum:
	case btTypedef:
	    return(true);

    default:
	    return(false);
    } /* switch */
} /* FComplexBt */


/* F I N D   C */

export char * FindC(src, ch)
register char	*src;
register char	ch;
{
    while (*src && *src != ch)
	src++;

    return(src);
} /* FindC */


/* P A N I C */

export void panic(sb, arg)
char	*sb;
int	arg;
{
    int	*args = &arg;

    fprintf(stderr, sb, args[0], args[1], args[2], args[3], args[4]);
    exit(1);
} /* panic */


/* M A X */

export int Max(a, b)
int	a, b;
{
    return((a > b) ? a : b );
} /* Max */


/* C O P Y   B L O C K */

export void CopyBlock(dest, src, size)
register char	*dest;
register char	*src;
register int	size;
{
    while (size--)
	*(dest++) = *(src++);
} /* CopyBlock */


#ifndef BSD
/* Z E R O   B L O C K */

export void ZeroBlock(src, size)
register char	*src;
register int	size;
{
    while (size--)
	*(src++) = 0;
} /* ZeroBlock */
#endif

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.