# 2.11BSD#431 - /usr/src/ucb/PORT/pascal/pdx/mappings/srcfile.c

##### Functions

    srcfilename       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[] = "@(#)srcfile.c	5.1 (Berkeley) 6/6/85";
       9: #endif not lint
      10:
      11: /*
      12:  * get the source file name associated with a given address
      13:  */
      14:
      15: #include "defs.h"
      16: #include "mappings.h"
      17: #include "object.h"
      18: #include "filetab.h"
      19:
      20: char *srcfilename(addr)
      21: ADDRESS addr;
      22: {
      23:     register ADDRESS i, j, k;
      24:     ADDRESS a;
      25:     FILETAB *ftp;
      26:
      27:     if (addr < filetab[0].addr) {
      28:         return(NIL);
      29:     }
      30:     i = 0;
      31:     j = nlhdr.nfiles - 1;
      32:     while (i < j) {
      33:         k = (i + j) / 2;
      34:         ftp = &filetab[k];
      35:         if ((a = ftp->addr) == addr) {
      36:             return(ftp->filename);
      37:         } else if (addr > a) {
      38:             i = k + 1;
      39:         } else {
      40:             j = k - 1;
      41:         }
      42:     }
      43:     if (addr >= filetab[i].addr) {
      44:         return(filetab[i].filename);
      45:     } else {
      46:         return(filetab[i-1].filename);
      47:     }
      48:     /*NOTREACHED*/
      49: }

#### Defined functions

srcfilename defined in line 20; never used

#### Defined variables

sccsid defined in line 8; never used

Last modified: 1985-06-06 Generated: 2016-12-26 | Generated by src2html V0.67 page hit count: 610 |