This is finder1.c in view mode; [Download] [Up]
/* ANSI C code generated by SmallEiffel. */ /* -- SmallEiffel -- Release (- 0.91) -- FRANCE -- Copyright (C), 1994 - Dominique COLNET and Suzanne COLLIN -- University Henri Poincare' - Nancy 1 - email colnet@loria.fr -- CRIN (Centre de Recherche en Informatique de Nancy) -- FRANCE */ #include "finder.h" T0 *se_new(int id){ int sz=s[id]; T0 *n=malloc((size_t)sz); memset(n,0,sz); n->id=id; return n; } /*FINDER*/T0* rT26get_environment_variable(/*C*/T0* a1){ T0* R=NULL; void * _p=0; _p=rT7to_external((T7*)a1); _p=((void*)getenv((char*)_p)); /*IF*/if (((int)_p)) { R=(T0*)e2s((char*)_p); } /*FI*/return R; } int ofBC27directory_separator=0; T3 oRBC27directory_separator; /*FINDER*/char rT26directory_separator(/*C*/void){ if (ofBC27directory_separator==0){ char R=0; ofBC27directory_separator=1; R=rT7last((T7*)rT26small_eiffel_directory()); oRBC27directory_separator=R;} return oRBC27directory_separator;} /*FINDER*/void rT26die_with_code(/*C*/int a1){ exit(a1); }T0*oRBC27hlp_file_name; /*FINDER*/void rT26add_directory(/*C*/T0* a1,T0* a2){ rT7append((T7*)a1,a2); rT7extend((T7*)a1,rT26directory_separator()); }/*FINDER*/void rT26print_hlp(/*C*/T0* a1){ rT7copy((T7*)oRBC27hlp_file_name,rT26small_eiffel_directory()); rT26add_directory(oRBC27hlp_file_name,(T0 *)ms2_27); rT7append((T7*)oRBC27hlp_file_name,a1); /*IF*/if (!(rT7has_suffix((T7*)oRBC27hlp_file_name,(T0 *)ms35_27))) { rT7append((T7*)oRBC27hlp_file_name,(T0 *)ms35_27); } /*FI*//*IF*/if (!(rT26file_exists(oRBC27hlp_file_name))) { rT38put_string((T38*)oRBC1std_error,(T0 *)ms3_27); rT38put_string((T38*)oRBC1std_error,oRBC27hlp_file_name); rT38put_string((T38*)oRBC1std_error,(T0 *)ms4_27); rT26die_with_code(1); } /*FI*/rT42append_file((T42*)oRBC1std_output,oRBC27hlp_file_name); }T0*oRBC1command_arguments; T0*oRBC1std_error; T0*oRBC27small_eiffel; T0*oRBC1std_output; int ofBC27small_eiffel_directory=0; T0*oRBC27small_eiffel_directory; /*FINDER*/T0* rT26small_eiffel_directory(/*C*/void){ if (ofBC27small_eiffel_directory==0){ T0* R=NULL; char _slash=0; int _i=0; ofBC27small_eiffel_directory=1; R=rT26get_environment_variable((T0 *)ms124_27); /*IF*/if (!(R)) { R=rT7twin((T7*)(T0 *)ms124_27); rT7to_upper((T7*)R); R=rT26get_environment_variable(R); /*IF*/if (((int)R)) { rT7to_upper((T7*)(T0 *)ms124_27); } /*FI*/} /*FI*//*IF*/if (!(R)) { R=(T0 *)ms1_27; } /*FI*/_i=((T7*)R)->_count; while (!((_i)<(0))) { _slash=rT7item((T7*)R,_i); /*IF*/if ((rT3is_letter(_slash))||(rT3is_digit(_slash))) { _i=(_i)-(1); } else { _i=-(1); } /*FI*/} /*IF*/if ((_i)==(0)) { rT7extend((T7*)R,'\57'); } else if (!((rT7last((T7*)R))==(_slash))) { rT7extend((T7*)R,_slash); } /*FI*/oRBC27small_eiffel_directory=R;} return oRBC27small_eiffel_directory;} /*FINDER*/T0* rT26argument(/*C*/int a1){ T0* R=NULL; R=rT34item((T34*)oRBC1command_arguments,a1); return R; } /*FINDER*/int rT26file_exists(/*C*/T0* a1){ int R=0; void * _p=0; _p=rT7to_external((T7*)a1); {FILE *f=fopen(((char*)_p),"r"); R=(f != NULL); if (R) fclose(f);} return R; } /*DICTIONARY[STRING,STRING]*/void rT48resize(T48 *C,int a1){ int _p=0; int _n=0; int _i=0; T0* _new_buc=NULL; int _hash=0; {T49 *n=((T49*)se_new(49)); rT49make(n,a1); _new_buc=(T0 *)n;} _i=0; while (!((_i)>=((C)->_modulus))) { _n=rT49item((T49*)(C)->_buckets,_i); while (!((_n)==(0))) { _p=rT50item((T50*)(C)->_chain,_n); _hash=(rT7hash_code((T7*)rT46item((T46*)(C)->_keys,_n)))%(a1); rT50put((T50*)(C)->_chain,rT49item((T49*)_new_buc,_hash),_n); rT49put((T49*)_new_buc,_n,_hash); _n=_p; } _i=(_i)+(1); } C->_buckets=_new_buc; C->_modulus=a1; C->_item_mem=0; }/*DICTIONARY[STRING,STRING]*/T0* rT48at(T48 *C,T0* a1){ T0* R=NULL; int _foo=0; _foo=rT48has(C,a1); R=rT46item((T46*)(C)->_store,(C)->_has_mem); return R; } /*DICTIONARY[STRING,STRING]*/void rT48put(T48 *C,T0* a1,T0* a2){ int _hash=0; _hash=(rT7hash_code((T7*)a2))%((C)->_modulus); /*IF*/if ((((C)->_has_mem)==(0))||(!(rT7is_equal((T7*)a2,rT46item((T46*)(C)->_keys,(C)->_has_mem))))) { C->_has_mem=rT49item((T49*)(C)->_buckets,_hash); while (!((((C)->_has_mem)==(0))||(rT7is_equal((T7*)a2,rT46item((T46*)(C)->_keys,(C)->_has_mem))))) { C->_has_mem=rT50item((T50*)(C)->_chain,(C)->_has_mem); } /*IF*/if (((C)->_has_mem)==(0)) { /*IF*/if (((C)->_count)>=(rT46count((T46*)(C)->_store))) { rT48expand(C); } /*FI*/rT46put((T46*)(C)->_keys,a2,(C)->_free); rT46put((T46*)(C)->_store,a1,(C)->_free); C->_has_mem=(C)->_free; C->_free=rT50item((T50*)(C)->_chain,(C)->_free); rT50put((T50*)(C)->_chain,rT49item((T49*)(C)->_buckets,_hash),(C)->_has_mem); rT49put((T49*)(C)->_buckets,(C)->_has_mem,_hash); C->_count=((C)->_count)+(1); /*IF*/if (((C)->_count)>(((C)->_modulus)*(2))) { rT48resize(C,(2)*((C)->_modulus)); } /*FI*/} /*FI*/} else { rT46put((T46*)(C)->_store,a1,(C)->_has_mem); } /*FI*/C->_item_mem=0; }/*DICTIONARY[STRING,STRING]*/void rT48expand(T48 *C){ int _old_size=0; int _i=0; C->_item_mem=0; _old_size=rT46count((T46*)(C)->_store); rT50resize((T50*)(C)->_chain,1,(2)*(_old_size)); rT46resize((T46*)(C)->_keys,1,(2)*(_old_size)); rT46resize((T46*)(C)->_store,1,(2)*(_old_size)); _i=(_old_size)+(1); while (!((_i)==(rT50count((T50*)(C)->_chain)))) { rT50put((T50*)(C)->_chain,(_i)+(1),_i); _i=(_i)+(1); } rT50put((T50*)(C)->_chain,(C)->_free,_i); C->_free=(_old_size)+(1); }/*DICTIONARY[STRING,STRING]*/int rT48has(T48 *C,T0* a1){ int R=0; /*IF*/if ((((C)->_has_mem)==(0))||(!(rT7is_equal((T7*)a1,rT46item((T46*)(C)->_keys,(C)->_has_mem))))) { C->_has_mem=rT49item((T49*)(C)->_buckets,(rT7hash_code((T7*)a1))%((C)->_modulus)); while (!((((C)->_has_mem)==(0))||(rT7is_equal((T7*)a1,rT46item((T46*)(C)->_keys,(C)->_has_mem))))) { C->_has_mem=rT50item((T50*)(C)->_chain,(C)->_has_mem); } } /*FI*/R=((C)->_has_mem)!=(0); return R; } /*DICTIONARY[STRING,STRING]*/void rT48make(T48 *C){ int _i=0; C->_modulus=32; C->_count=0; C->_free=1; C->_has_mem=0; C->_item_mem=0; {T49 *n=((T49*)se_new(49)); rT49make(n,(C)->_modulus); C->_buckets=(T0 *)n;} {T50 *n=((T50*)se_new(50)); rT50make(n,1,16); C->_chain=(T0 *)n;} {T46 *n=((T46*)se_new(46)); rT46make(n,1,16); C->_store=(T0 *)n;} {T46 *n=((T46*)se_new(46)); rT46make(n,1,16); C->_keys=(T0 *)n;} _i=1; while (!((_i)==(rT50count((T50*)(C)->_chain)))) { rT50put((T50*)(C)->_chain,(_i)+(1),_i); _i=(_i)+(1); } rT50put((T50*)(C)->_chain,0,_i); _i=0; while (!((_i)>=((C)->_modulus))) { rT49put((T49*)(C)->_buckets,0,_i); _i=(_i)+(1); } }/*STD_ERROR*/void rT38die_with_code(/*C*/int a1){ exit(a1); }/*STD_ERROR*/void rT38put_string(T38 *C,T0* a1){ int _i=0; _i=1; while (!((_i)>(((T7*)a1)->_count))) { rT38put_character(C,rT7item((T7*)a1,_i)); _i=(_i)+(1); } }/*STD_ERROR*/void rT38put_character(T38 *C,char a1){ char _err=0; _err=fputc(a1,(C)->_output_stream); /*IF*/if ((_err)!=(a1)) { rT38put_string((T38*)oRBC1std_error,(T0 *)ms2_39); /*[IRF3:crash*/rsp(); rT38die_with_code(1); /*]*/ } /*FI*/}/*STD_ERROR*/void rT38make(T38 *C){ C->_output_stream=stderr; }/*FIXED_ARRAY[INTEGER]*/void rT49clear_all(T49 *C){ int _value=0; rT49set_all_with(C,_value); }/*FIXED_ARRAY[INTEGER]*/void rT49set_all_with(T49 *C,int a1){ int _i=0; _i=(C)->_upper; while (!((_i)<(0))) { rT49put(C,a1,_i); _i=(_i)-(1); } }/*FIXED_ARRAY[INTEGER]*/int rT49item(T49 *C,int a1){ int R=0; R=(((int*)(C->_storage))[a1]); return R; } /*FIXED_ARRAY[INTEGER]*/int* rT49realloc(/*C*/int* a1,int a2){ int* R=0; T37 _mem={0/*dummy*/}; int _x=0; /*IF*/{/*AT*/R=realloc(a1,(a2)*(((0),sizeof(T2)))); } /*FI*/return R; } /*FIXED_ARRAY[INTEGER]*/int* rT49malloc(/*C*/int a1){ int* R=0; T37 _mem={0/*dummy*/}; int _x=0; /*IF*/{/*AT*/R=malloc((a1)*(((0),sizeof(T2)))); } /*FI*/return R; } /*FIXED_ARRAY[INTEGER]*/void rT49put(T49 *C,int a1,int a2){ ((int*)(C->_storage))[a2]=a1; } /*FIXED_ARRAY[INTEGER]*/void rT49make(T49 *C,int a1){ /*IF*/if (((int)(C)->_storage)) { C->_storage=rT49realloc((C)->_storage,a1); } else { C->_storage=rT49malloc(a1); } /*FI*/C->_upper=(a1)-(1); rT49clear_all(C); }
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.