37 #define MAX_STRING 2048 
   48     if(fgets(buffer,
MAX_STRING,stdin)==NULL) 
return EXIT_FAILURE;
 
   53     length = strlen(buffer);
 
   54     if( (length>=2) && (buffer[length-2]==
'\r') && (buffer[length-1]==
'\n') ) {
 
   55       buffer[length-2] = 
'\0';
 
   58     } 
else if((length>=1) && (buffer[length-1]==
'\n')) {
 
   59       buffer[length-1] = 
'\0';
 
   62     if(strstr(buffer,
"SECT")==NULL) 
continue;
 
   63     if(strstr(buffer,
"External")==NULL) 
continue;
 
   64     if(strstr(buffer,
"??_")!=NULL) {
 
   65       if(strstr(buffer,
"operator/=")==NULL) 
continue;
 
   72       words  = 
GetWords (buffer,
" ",&wordn);
 
   76     if(strcmp(words[4],
"()")==0) {
 
   78     } 
else if(strcmp(words[4],
"External")==0) {
 
   81     if(words[iword][0]==
'_') offset = 1;
 
   83         if( (iword==6) && (strstr(buffer,
"static class")!=NULL) ){
 
   85       printf(
" %s\n",words[iword]+offset);
 
   88       printf(
" %s\tDATA\n",words[iword]+offset);
 
   91       printf(
" %s\n",words[iword]+offset);
 
   96       for(count=0;count<wordn;count++) 
if(words[count]) 
free(words[count]);
 
   97       if(words) 
free(words);}
 
  112 #define STRDUP(str)  ((str) != NULL ? (strcpy((char*)malloc((unsigned)strlen(str) + 1), str)) : (char*)NULL) 
  113 #define STRDEL(str) {if((str)!=NULL) {free(str);str=NULL;}} 
  121   if(a_number!=NULL) *a_number      = 0;
 
  122   if( (a_string==NULL) || (*a_string==
'\0') )  
return NULL;
 
  123   if(a_limiter==NULL) 
return NULL;
 
  125   string = 
STRDUP(a_string);
 
  126   if(
string==NULL) 
return NULL;
 
  129   list = (
char**)
malloc(nline*
sizeof(
char*));
 
  130   if(list==NULL) 
return NULL;
 
  136     pos = strstr (token,a_limiter);
 
  142       list      = (
char**)
realloc(list,nline*
sizeof(
char*));
 
  143       if(list==NULL) 
return NULL;
 
  148       token = pos + strlen(a_limiter);          
 
  153       list      = (
char**)
realloc(list,nline*
sizeof(
char*));
 
  154       if(list==NULL) 
return NULL;
 
  163   for(count=0;count<iline;count++) list[count] = 
STRDUP(list[count]);
 
  168     if(a_number!=NULL) *a_number = 0;
 
  171     if(a_number!=NULL) *a_number = iline;
 
int main(int argc, char **argv)
char ** GetWords(char *, char *, int *)
printf("%d Experimental points found\n", nlines)
void * realloc(void *__ptr, size_t __size)
void * malloc(size_t __size)