Example #1
0
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;
}
Example #2
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");
}