Пример #1
0
int unset(entry_t **list, char *args)
{
	char **table = NULL;
	size_t size = 0, i = 0;

	if (list == NULL || args == NULL)
		return EXIT_FAILURE;

	table = split(args, ' ', &size);
	if (table == NULL || size == 1)
	{
		if (table != NULL)
		{
			free(*table);
			free(table);
		}

		return EXIT_FAILURE;
	}

	entry_remove(list, table[1]);

	for (i = 0; i < size; i++)
		free(table[i]);

	free(table);

	return EXIT_SUCCESS;
}
Пример #2
0
/***********************************************
Delete a character's entry
return RET_NOK on error
***********************************************/
ret_code_t entry_destroy(const char * table, const char * file)
{
	char * filename;

	filename = strconcat(table,"/",file,NULL);

	entry_remove(filename);

	free(filename);

	return RET_OK;
}
Пример #3
0
char *
test_entry_add_to_dir_with_too_many_files()
{
    int i;
    struct entry *d, *f;

    d = entry_create_dir("test dir", &test_user, PERM_RD | PERM_WR, PERM_RD);
    for (i = 0; i < MAX_FILES; i++) {
        f = entry_create_file("test file", &test_user, PERM_RD, PERM_RD);

        entry_add_to_dir(d, f);
    }

    f = entry_create_file("test file", &test_user, PERM_RD, PERM_RD);
    mu_assert("entry_add_to_dir should return too many files",
              entry_add_to_dir(d, f) == - E_TOO_MANY_FILES);

    entry_remove(d);
    entry_remove(f);

    return 0;
}
Пример #4
0
char *
test_entry_add_to_dir_recursivly()
{
    struct entry *d1, *d2;
    
    d1 = entry_create_dir("test dir", &test_user, PERM_RD | PERM_WR, PERM_RD);
    d2 = entry_create_dir("test dir", &test_user, PERM_RD | PERM_WR, PERM_RD);

    entry_add_to_dir(d1, d2);
    mu_assert("entry_add_to_dir should return invalid type",
              entry_add_to_dir(d2, d1) == - E_INVALID_TYPE);
    
    entry_remove(d1);

    return 0;
}
Пример #5
0
char *
test_entry_rw_file_with_invalid_type()
{
    char buf[100];
    struct entry *d;

    d = entry_create_dir("test dir", &test_user, PERM_RD | PERM_WR, PERM_RD);
    mu_assert("entry_write_file: rv",
              entry_write_file(d, "t") == - E_INVALID_TYPE);
    mu_assert("entry_read_file: rv",
              entry_read_file(d, buf) == - E_INVALID_TYPE);

    entry_remove(d);
    
    return 0;
}
Пример #6
0
char *
test_entry_rw_file()
{
    char buf[100];
    char *test_content = "foobar";
    struct entry *f;
    
    f = entry_create_file("test file", &test_user, PERM_RD | PERM_WR, PERM_RD);

    mu_assert("entry_write_file: rv", entry_write_file(f, test_content) == 6);
    mu_assert("entry_read_file: rv", entry_read_file(f, buf) == 6);
    mu_assert("entry content", strcmp(buf, test_content) == 0);

    entry_remove(f);

    return 0;
}