? patch.vip3 ? patch.db25 ? patch.db26 Index: todo.jcea =================================================================== RCS file: /cvsroot/ircd/todo.jcea,v retrieving revision 1.4 retrieving revision 1.5 diff -c -r1.4 -r1.5 *** ../ircu2.10.06/todo.jcea 1999/10/11 18:25:38 1.4 --- ../ircu2.10.06+/todo.jcea 1999/10/11 18:31:17 1.5 *************** *** 1,4 **** --- 1,8 ---- 11/Oct/99 + Poner comprobaciones en las lecturas de disco, + y actuar convenientemente ante errores. + + 11/Oct/99 Tenemos problemas si una BDD se borra si ese nodo tiene varias vias de actualizacion (HUB). Ver documentacion online. Index: ircd/s_debug.c =================================================================== RCS file: /cvsroot/ircd/ircd/s_debug.c,v retrieving revision 1.43 retrieving revision 1.44 diff -c -r1.43 -r1.44 *** ../ircu2.10.06/ircd/s_debug.c 1999/10/11 18:25:38 1.43 --- ../ircu2.10.06+/ircd/s_debug.c 1999/10/11 18:31:17 1.44 *************** *** 191,197 **** '-', #endif #endif ! 'D','B','2','5', #ifdef DB_ESNET '+', #else --- 191,197 ---- '-', #endif #endif ! 'D','B','2','6', #ifdef DB_ESNET '+', #else Index: ircd/s_serv.c =================================================================== RCS file: /cvsroot/ircd/ircd/s_serv.c,v retrieving revision 1.27 retrieving revision 1.28 diff -c -r1.27 -r1.28 *** ../ircu2.10.06/ircd/s_serv.c 1999/10/11 18:25:38 1.27 --- ../ircu2.10.06+/ircd/s_serv.c 1999/10/11 18:31:17 1.28 *************** *** 1535,1546 **** sprintf_irc(path,"%s/tabla.%c",DBPATH,bdd); handle=open(path, O_RDONLY, S_IRUSR | S_IWUSR); alarm(0); ! if(handle==-1) return 0; do { cont=leer_db(handle,buf); if(cont==-1) { *buf='\0'; ! return 0; } } while(atol(buf)<=registro); return handle; --- 1535,1546 ---- sprintf_irc(path,"%s/tabla.%c",DBPATH,bdd); handle=open(path, O_RDONLY, S_IRUSR | S_IWUSR); alarm(0); ! if(handle==-1) return -1; do { cont=leer_db(handle,buf); if(cont==-1) { *buf='\0'; ! return -1; } } while(atol(buf)<=registro); return handle; *************** *** 1812,1819 **** tabla_hash_hi[ESNET_NICKDB]=0; tabla_hash_lo[ESNET_NICKDB]=0; ! if(!(db_file=abrir_db(0,buf,ESNET_NICKDB))) return; ! do { /* db_alta modifica la cadena */ db_alta(buf,ESNET_NICKDB,0); } while(leer_db(db_file,buf)!=-1); --- 1812,1819 ---- tabla_hash_hi[ESNET_NICKDB]=0; tabla_hash_lo[ESNET_NICKDB]=0; ! db_file=abrir_db(0,buf,ESNET_NICKDB); ! if(db_file!=-1) do { /* db_alta modifica la cadena */ db_alta(buf,ESNET_NICKDB,0); } while(leer_db(db_file,buf)!=-1); *************** *** 1951,1957 **** } db_file=abrir_db(db,db_buf,que_bdd); ! if(db_file==0) return 0; /* Problemas con la DB */ do { p=strchr(db_buf,' '); if(p==NULL) continue; --- 1951,1957 ---- } db_file=abrir_db(db,db_buf,que_bdd); ! if(db_file==-1) return 0; /* Problemas con la DB */ do { p=strchr(db_buf,' '); if(p==NULL) continue;