/* hashdel.c CCMATH mathematics library source code.
*
* Copyright (C) 2000 Daniel A. Atkinson All rights reserved.
* This code may be redistributed under the terms of the GNU library
* public license (LGPL). ( See the lgpl.license file for details.)
* ------------------------------------------------------------------------
*/
#include "hash.h"
int hashdel(char *kin,struct tabl **harr,int mh)
{ int hv,m; struct tabl *pe,*ps;
hv=hval(kin,mh); pe=harr[hv]; ps=NULL;
while(pe!=NULL){
if((m=strcmp(kin,pe->key))==0) break;
if(m<0) return 0;
ps=pe; pe=pe->pt;
}
if(pe==NULL) return 0;
if(ps!=NULL) ps->pt=pe->pt; else harr[hv]=pe->pt;
free(pe); return 1;
}
syntax highlighted by Code2HTML, v. 0.9.1