ll.c 1.27 KB
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include "ll.h"


typedef struct node {
    entry_t entry;
    struct node *next;
} node_t;

typedef struct ll_map {
    size_t length;
    node_t *head;
} ll_map_t;

/**
 * Initialize a new node with the given key and value.
 * 
 * The returned node should be heap-allocated with malloc and it takes ownership
 * of the arguments so the caller should not modify or free them afterward.
 */
static node_t *node_init(char *key, char* value);

/**
 * Frees a linked list node and all following nodes.
 * 
 * Also frees the keys and values since they are owned by the node.
 * 
 * Passing NULL to this function is valid (and will do nothing).
 */
static void node_free(node_t *curr);

static node_t *node_init(char *key, char* value) {
    (void) key;
    (void) value;
    return NULL;
}

static void node_free(node_t *curr) {
    (void) curr;
}

ll_map_t *ll_init(void) {
    return NULL;
}

void ll_free(ll_map_t *dict) {
    (void) dict;
}

char *ll_put(ll_map_t *dict, char *key, char *value) {
    (void) dict;
    (void) key;
    (void) value;
    return NULL;
}

char *ll_get(ll_map_t *dict, char *key) {
    (void) dict;
    (void) key;
    return NULL;
}

strarray_t *ll_get_keys(ll_map_t *dict) {
    (void) dict;
    return NULL;
}