int main(int argc, const char * argv[]) { start(list, "ItemA", 2027); list = add_node(create_dummy(), list); printf("Started a linked list. First item: %s = %d\n", list->key, list->value); printf("--------------------\n"); append(list, "ItemB", 74); append(list, "ItemC", 32); append(list, "ItemD", 21); append(list, "ItemE", 2); append(list, "ItemE", 55); append(list, "Item*", 42); append(list, "ItemF", 54); append(list, "ItemG", 86); printf("--------------------\n"); delete(list, "ItemA"); delete(list, "ItemD"); delete(list, "ItemG"); printf("--------------------\n"); printf("Linked List:\n"); traverse(list, print_node); printf("--------------------\n"); printf("Searching for the value of 'ItemB'.\n"); int value; bool result = search(list, "ItemB", &value); printf("Search result: %s\n", (result) ? "Successful" : "Failed"); printf("The value of ItemB is: %d\n", value); printf("--------------------\n"); free_list(list); printf("List pointer value: %s!\n", (list == NULL) ? "(null)" : "(error)"); return 0; }
static void create_volume(struct mfs_volume* new_volume, ps8_t volume_name, u128 volume_size, u128 cluster_size) { u8_t first_sector[BYTES_PER_SECTOR] = {0, }; if (volume_name == NULL) { volume_name = ""; } if (new_volume == NULL) { printf("ERROR: Volume is empty!\n"); exit(1); } make_data_cluster(new_volume, volume_size, cluster_size); struct mfs_sb_info* sb = (struct mfs_sb_info *) first_sector; initialize_sb(sb, volume_name, volume_size); seek_volume(new_volume, 0, SEEK_SET); write_volume(new_volume, sb, sizeof(u8_t), sizeof(struct mfs_sb_info)); make_fat(new_volume, sb, sb->fat_index_size); // Read Dump SQLite FILE *fp; u32_t total_size; u32_t n_size; fp = fopen("./test.db", "r"); fseek(fp, 0, SEEK_END); total_size = ftell(fp); fseek(fp, 0, SEEK_SET); char* buff = (char *) malloc(total_size); while(1) { n_size = fread(buff, sizeof(u8_t), total_size, fp); if(n_size <= 0){ break; } } // File Content Write create_dummy(new_volume, "/", "test.db", buff, total_size, 0); // write_sqlite_file(new_volume, "/", "test2.db", buff, 0, total_size); // write_sqlite_file(new_volume, "/", "test3.db", buff, 0, total_size); // write_sqlite_file(new_volume, "/", "test4.db", buff, 0, total_size); // write_sqlite_file(new_volume, "/", "test5.db", buff, 0, total_size); // read_sqlite_file(new_volume, "/", "test1.db"); // SQLite Dummy Buffer Free free(buff); fclose(fp); printf("\n\n\n"); }