コード例 #1
0
ファイル: file.c プロジェクト: gvx/deja
V load_file(V file_name, V global)
{
	if (file_name == NULL || getType(file_name) != T_STR)
	{
		clear_ref(file_name);
		return NULL;
	}
	FILE* f = fopen(toNewString(file_name)->text, "rb");
	if (f == NULL)
	{
		clear_ref(file_name);
		return NULL;
	}
	fseek(f, 0, SEEK_END);
	size_t length = ftell(f);
	rewind(f);
	char *data = malloc(length * sizeof(char));
	size_t read = fread(data, sizeof(char), length, f);
	assert (read == length);
	V new_file = load_memfile(data, length, file_name, global);
	free(data);
	fclose(f);
	clear_ref(file_name);
	return new_file;
}
コード例 #2
0
ファイル: io.c プロジェクト: jpcoles/cello
int load_timestep()
{
    switch (env.cfg.input_filetype)
    {
        case TIPSY_STANDARD:
            load_standard_tipsy(env.cfg.base_input_filename);
            break;
        case TIPSY_NATIVE:
            load_native_tipsy(env.cfg.base_input_filename);
            break;
        case ASCII:
            load_ascii(env.cfg.base_input_filename);
            break;
        case MEM_FILE:
            load_memfile(env.cfg.base_input_filename);
            break;
        default:
            myassert(0, "Tried to load file, but the filetype is wrong.");
            break;
    }

    return 0;
}