Various bug fixes related to the C switch.
[repair.git] / Repair / RepairCompiler / MCC / CRuntime / SimpleHash.h
index 48439bc8db14d117d88354e676949daa1ae9e059..a58d98f2141259f32bbe675635c1bb23080db178 100755 (executable)
@@ -106,10 +106,7 @@ struct SimpleHash {
     int tailindex;
 };
 
-inline int SimpleHashcountset(struct SimpleHash * thisvar) {
-    return thisvar->numelements;
-}
-
+inline int SimpleHashcountset(struct SimpleHash * thisvar);
 
 /* SimpleHashExcepion  *************************************************/
 
@@ -135,47 +132,20 @@ struct SimpleIterator {
   int index,tailindex;
 };
 
-inline struct SimpleIterator * noargallocateSimpleIterator() {
-    return (struct SimpleIterator*)malloc(sizeof(struct SimpleIterator));
-}
-
-inline struct SimpleIterator * allocateSimpleIterator(struct ArraySimple *start, struct ArraySimple *tl, int tlindex) {
-    struct SimpleIterator *thisvar=(struct SimpleIterator*)malloc(sizeof(struct SimpleIterator));
-    thisvar->cur = start;
-    thisvar->index=0;
-    thisvar->tailindex=tlindex;
-    thisvar->tail=tl;
-    return thisvar;
-}
-
-inline int hasNext(struct SimpleIterator *thisvar) {
-    if (thisvar->cur==thisvar->tail &&
-       thisvar->index==thisvar->tailindex)
-        return 0;
-    while((thisvar->index==ARRAYSIZE)||!thisvar->cur->nodes[thisvar->index].inuse) {
-        if (thisvar->index==ARRAYSIZE) {
-            thisvar->index=0;
-            thisvar->cur=thisvar->cur->nextarray;
-        } else
-            thisvar->index++;
-    }
-    if (thisvar->cur->nodes[thisvar->index].inuse)
-        return 1;
-    else
-        return 0;
-}
-
-inline int next(struct SimpleIterator *thisvar) {
-    return thisvar->cur->nodes[thisvar->index++].data;
-}
-
-inline int key(struct SimpleIterator *thisvar) {
-    return thisvar->cur->nodes[thisvar->index].key;
-}
+inline struct SimpleIterator * noargallocateSimpleIterator();
+
+inline struct SimpleIterator * allocateSimpleIterator(struct ArraySimple *start, struct ArraySimple *tl, int tlindex);
+
+inline int hasNext(struct SimpleIterator *thisvar);
 
+inline int next(struct SimpleIterator *thisvar);
+
+inline int key(struct SimpleIterator *thisvar);
 
 struct RepairHashNode * allocateRepairHashNode(int setrelation, int rule, int lvalue, int rvalue, int data, int data2,int ismodify);
 
+
+
 struct RepairHashNode {
     struct RepairHashNode *next;
     struct RepairHashNode *lnext;