#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 i = 0;
ubixfsInode * inode = (ubixfsInode *)malloc(sizeof(ubixfsInode));
memset(inode, 0, sizeof(ubixfsInode));
strcpy(inode -> name, "temp123");
bTree * tree = new bTree(inode);
for (i = 0; i < 1000000; i++) {
// 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++) {
inode->name[k] = (char)((random() % 26)+'a');
} // for k
if (!tree->Insert(inode)) cout << "Insert() failed" << endl;
} // for i
#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
#if 0
i = 0;
ubixfsInode * tmpInode = tmpInode = tree->GetFirstNode();
if (tmpInode == NULL) cout << "GetFirstNode() returns null" << endl;
while (tmpInode != NULL) {
cout << "node[" << i++ << "]: " << tmpInode->name << endl;
tmpInode = tmpInode->next;
} // while
#endif
// cout << sizeof(struct bNode) << endl;
// tree->Info();
free(inode);
return 0;
}