1*7175Speter #ifndef lint 2*7175Speter static char *sccsid = "@(#)printlist.c 1.1 (Berkeley) 06/14/82"; 3*7175Speter #endif lint 4*7175Speter 5*7175Speter #include "gprof.h" 6*7175Speter 7*7175Speter struct stringlist { 8*7175Speter struct stringlist *next; 9*7175Speter char *string; 10*7175Speter }; 11*7175Speter 12*7175Speter struct stringlist fflaglist = { 0 , 0 }; 13*7175Speter 14*7175Speter addflist( funcname ) 15*7175Speter char *funcname; 16*7175Speter { 17*7175Speter struct stringlist *slp; 18*7175Speter 19*7175Speter slp = (struct stringlist *) malloc( sizeof(struct stringlist)); 20*7175Speter if ( slp == (struct stringlist *) 0 ) { 21*7175Speter fprintf( stderr, "gprof: ran out room for printlist\n" ); 22*7175Speter done(); 23*7175Speter } 24*7175Speter slp -> next = fflaglist.next; 25*7175Speter slp -> string = funcname; 26*7175Speter fflaglist.next = slp; 27*7175Speter } 28*7175Speter 29*7175Speter bool 30*7175Speter onflist( funcname ) 31*7175Speter char *funcname; 32*7175Speter { 33*7175Speter struct stringlist *slp; 34*7175Speter 35*7175Speter for ( slp = fflaglist.next ; slp ; slp = slp -> next ) { 36*7175Speter if ( ! strcmp( slp -> string , funcname ) ) { 37*7175Speter return TRUE; 38*7175Speter } 39*7175Speter if ( funcname[0] == '_' && ! strcmp( slp -> string , &funcname[1] ) ) { 40*7175Speter return TRUE; 41*7175Speter } 42*7175Speter } 43*7175Speter return FALSE; 44*7175Speter } 45*7175Speter 46*7175Speter struct stringlist eflaglist = { 0 , 0 }; 47*7175Speter 48*7175Speter addelist( funcname ) 49*7175Speter char *funcname; 50*7175Speter { 51*7175Speter struct stringlist *slp; 52*7175Speter 53*7175Speter slp = (struct stringlist *) malloc( sizeof(struct stringlist)); 54*7175Speter if ( slp == (struct stringlist *) 0 ) { 55*7175Speter fprintf( stderr, "gprof: ran out room for printlist\n" ); 56*7175Speter done(); 57*7175Speter } 58*7175Speter slp -> next = eflaglist.next; 59*7175Speter slp -> string = funcname; 60*7175Speter eflaglist.next = slp; 61*7175Speter } 62*7175Speter 63*7175Speter bool 64*7175Speter onelist( funcname ) 65*7175Speter char *funcname; 66*7175Speter { 67*7175Speter struct stringlist *slp; 68*7175Speter 69*7175Speter for ( slp = eflaglist.next ; slp ; slp = slp -> next ) { 70*7175Speter if ( ! strcmp( slp -> string , funcname ) ) { 71*7175Speter return TRUE; 72*7175Speter } 73*7175Speter if ( funcname[0] == '_' && ! strcmp( slp -> string , &funcname[1] ) ) { 74*7175Speter return TRUE; 75*7175Speter } 76*7175Speter } 77*7175Speter return FALSE; 78*7175Speter } 79