1*21964Sdist /* 2*21964Sdist * Copyright (c) 1983 Regents of the University of California. 3*21964Sdist * All rights reserved. The Berkeley software License Agreement 4*21964Sdist * specifies the terms and conditions for redistribution. 5*21964Sdist */ 6*21964Sdist 77175Speter #ifndef lint 8*21964Sdist static char sccsid[] = "@(#)printlist.c 5.1 (Berkeley) 06/04/85"; 9*21964Sdist #endif not lint 107175Speter 117175Speter #include "gprof.h" 127175Speter 137222Speter /* 147222Speter * these are the lists of names: 157222Speter * there is the list head and then the listname 167222Speter * is a pointer to the list head 177222Speter * (for ease of passing to stringlist functions). 187222Speter */ 197222Speter struct stringlist fhead = { 0 , 0 }; 207222Speter struct stringlist *flist = &fhead; 217222Speter struct stringlist Fhead = { 0 , 0 }; 227222Speter struct stringlist *Flist = &Fhead; 237222Speter struct stringlist ehead = { 0 , 0 }; 247222Speter struct stringlist *elist = &ehead; 257222Speter struct stringlist Ehead = { 0 , 0 }; 267222Speter struct stringlist *Elist = &Ehead; 277175Speter 287222Speter addlist( listp , funcname ) 297222Speter struct stringlist *listp; 307222Speter char *funcname; 317175Speter { 327175Speter struct stringlist *slp; 337175Speter 347175Speter slp = (struct stringlist *) malloc( sizeof(struct stringlist)); 357175Speter if ( slp == (struct stringlist *) 0 ) { 367175Speter fprintf( stderr, "gprof: ran out room for printlist\n" ); 377175Speter done(); 387175Speter } 397222Speter slp -> next = listp -> next; 407175Speter slp -> string = funcname; 417222Speter listp -> next = slp; 427175Speter } 437175Speter 447175Speter bool 457222Speter onlist( listp , funcname ) 467222Speter struct stringlist *listp; 477222Speter char *funcname; 487175Speter { 497175Speter struct stringlist *slp; 507175Speter 517222Speter for ( slp = listp -> next ; slp ; slp = slp -> next ) { 527175Speter if ( ! strcmp( slp -> string , funcname ) ) { 537175Speter return TRUE; 547175Speter } 557175Speter if ( funcname[0] == '_' && ! strcmp( slp -> string , &funcname[1] ) ) { 567175Speter return TRUE; 577175Speter } 587175Speter } 597175Speter return FALSE; 607175Speter } 61