why is this giving me an error. i want to be iterating through the list of rules with first_rule as the head, ad returning whether the struct associated with the target is found
typedef struct rule_node {
    char *target;
    Dependency *dependencies;
    Action *actions;
    struct rule_node *next_rule;
} Rule;

Rule *find_rule(Rule *first_rule, char *target) {
    while (first_rule->next_rule != NULL) { // TODO: conditional jump / var here ? 
        if (strcmp(first_rule->target, target) == 0) {
            return first_rule;
        }
        first_rule = first_rule->next_rule;
    }
    return NULL;