Posted to tcl by dkf at Wed Mar 17 10:55:49 GMT 2010view pretty
#define FOREACH(var,ary) \ for(i=0 ; (i<(ary).num?((var=(ary).list[i]),1):0) ; i++) #define FOREACH_HASH(key,val,tablePtr) \ for(hPtr=Tcl_FirstHashEntry((tablePtr),&search); hPtr!=NULL ? \ ((key)=(void *)Tcl_GetHashKey((tablePtr),hPtr),\ (val)=Tcl_GetHashValue(hPtr),1):0; hPtr=Tcl_NextHashEntry(&search))