int main(int argc, char **argv) { char tmp[16384]; char *file; #ifdef __NT__ _fmode=_O_BINARY; if(SearchPath(0, argv[0], ".exe", sizeof(tmp), tmp, &file)) my_uncompress(tmp,argc-1,argv+1); #else char *path=getenv("PATH"); char *pos; file=argv[0]; if(!path || strchr(file, SLASH)) { my_uncompress(file,argc-1,argv-1); perror("open"); exit(1); } pos=path; while(1) { char *next; next=FEND(pos,DELIM); if(next!=pos) { char *ptr=tmp; memcpy(ptr=tmp,pos,next-pos); ptr+=next-pos; if(*ptr != '/' #ifdef __NT && *ptr != SLASH #endif ) *(ptr++)='/'; memcpy(ptr, file, strlen(file)); ptr+=strlen(file); *ptr=0; my_uncompress(tmp,argc-1,argv+1); } if(!*next) break; pos=next+1; } #endif puts("Failed to find self!"); exit(9); }
void print( OutputIterator& it, int MAT ) const { int MF = this->MF(); for ( auto& entry : this->sectionVector ) entry.print( it, MAT, MF ); FEND( MAT ).print( it ); }