#include <iostream> #include <vector> #include <stdlib.h> #include "inode.h" #include "superblock.h" #include "vfs.h" #include "btree.h" using namespace std; int main(void) { int a = 0,aa = 0,aaa = 0; int i = 0; ubixfsInode * inode = (ubixfsInode *)malloc(sizeof(ubixfsInode)); memset(inode, 0, sizeof(ubixfsInode)); strcpy(inode -> name, "555"); bTree * tree = new bTree(inode); // for (i = 0; i < 20000; i++) { while (tree->Verify()) { // if (i%1000 == 0) cout << "-_- i = "<<i<<" -_-" << endl; inode = (ubixfsInode *)malloc(sizeof(ubixfsInode)); if (inode == NULL) break; memset(inode, 0, sizeof(ubixfsInode)); // for (int k = 0; k < (random() % 100)+5; k++) { for (int k = 0; k < 3; k++) { inode->name[k] = (char)((random() % 10)+'0'); } // for k if (!tree->Insert(inode)) cout << "Insert() failed" << endl; ++i; } // for i // cout << "i made it to: " << i << endl; #if 0 for (a = 'a';a <= 'a';a++) { for (aa = 'a';aa <= 'b';aa++) { for (aaa = 'a';aaa <= 'z';aaa++) { inode = (ubixfsInode *)malloc(sizeof(ubixfsInode)); memset(inode,0x0,sizeof(ubixfsInode)); inode->name[0] = a; inode->name[1] = aa; inode->name[2] = aaa; if (!tree->Insert(inode)) cout << "Insert() failed" << endl; } } } for (a = 'c';a <= 'c';a++) { for (aa = 'a';aa <= 'b';aa++) { for (aaa = 'a';aaa <= 'z';aaa++) { inode = (ubixfsInode *)malloc(sizeof(ubixfsInode)); memset(inode,0x0,sizeof(ubixfsInode)); inode->name[0] = a; inode->name[1] = aa; inode->name[2] = aaa; if (!tree->Insert(inode)) cout << "Insert() failed" << endl; } } } for (a = 'b';a <= 'b';a++) { for (aa = 'a';aa <= 'b';aa++) { for (aaa = 'a';aaa <= 'z';aaa++) { inode = (ubixfsInode *)malloc(sizeof(ubixfsInode)); memset(inode,0x0,sizeof(ubixfsInode)); inode->name[0] = a; inode->name[1] = aa; inode->name[2] = aaa; if (!tree->Insert(inode)) cout << "Insert() failed" << endl; } } } #endif #if 0 inode = (ubixfsInode *)malloc(sizeof(ubixfsInode)); memset(inode, 0, sizeof(ubixfsInode)); strcpy(inode->name, "m"); tree->Insert(inode); inode = (ubixfsInode *)malloc(sizeof(ubixfsInode)); memset(inode, 0, sizeof(ubixfsInode)); strcpy(inode->name, "a"); tree->Insert(inode); inode = (ubixfsInode *)malloc(sizeof(ubixfsInode)); memset(inode, 0, sizeof(ubixfsInode)); strcpy(inode->name, "b"); tree->Insert(inode); inode = (ubixfsInode *)malloc(sizeof(ubixfsInode)); memset(inode, 0, sizeof(ubixfsInode)); strcpy(inode->name, "c"); tree->Insert(inode); inode = (ubixfsInode *)malloc(sizeof(ubixfsInode)); memset(inode, 0, sizeof(ubixfsInode)); strcpy(inode->name, "d"); tree->Insert(inode); inode = (ubixfsInode *)malloc(sizeof(ubixfsInode)); memset(inode, 0, sizeof(ubixfsInode)); strcpy(inode->name, "e"); tree->Insert(inode); inode = (ubixfsInode *)malloc(sizeof(ubixfsInode)); memset(inode, 0, sizeof(ubixfsInode)); strcpy(inode->name, "f"); tree->Insert(inode); inode = (ubixfsInode *)malloc(sizeof(ubixfsInode)); memset(inode, 0, sizeof(ubixfsInode)); strcpy(inode->name, "j"); tree->Insert(inode); inode = (ubixfsInode *)malloc(sizeof(ubixfsInode)); memset(inode, 0, sizeof(ubixfsInode)); strcpy(inode->name, "h"); tree->Insert(inode); inode = (ubixfsInode *)malloc(sizeof(ubixfsInode)); memset(inode, 0, sizeof(ubixfsInode)); strcpy(inode->name, "eee"); tree->Insert(inode); inode = (ubixfsInode *)malloc(sizeof(ubixfsInode)); memset(inode, 0, sizeof(ubixfsInode)); strcpy(inode->name, "ee"); tree->Insert(inode); inode = (ubixfsInode *)malloc(sizeof(ubixfsInode)); memset(inode, 0, sizeof(ubixfsInode)); strcpy(inode->name, "n"); cout << "---Inserting " << inode->name << "---" << endl; tree->Insert(inode); #endif i = 0; ubixfsInode * tmpInode = tmpInode = tree->GetFirstNode(); if (tmpInode == NULL) cout << "GetFirstNode() returns null" << endl; while (tmpInode != NULL) { //cout << "node[" << i++ << "]: " << tmpInode->name << endl; cout << tmpInode->name << endl; tmpInode = tmpInode->next; } // while // cout << sizeof(struct bNode) << endl; // tree->Info(); free(inode); delete tree; return 0; }