diff options
Diffstat (limited to 'reference/C/CONTRIB/OR_PRACTICAL_C/16_2.c')
-rw-r--r-- | reference/C/CONTRIB/OR_PRACTICAL_C/16_2.c | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/reference/C/CONTRIB/OR_PRACTICAL_C/16_2.c b/reference/C/CONTRIB/OR_PRACTICAL_C/16_2.c new file mode 100644 index 0000000..37dbc5f --- /dev/null +++ b/reference/C/CONTRIB/OR_PRACTICAL_C/16_2.c @@ -0,0 +1,27 @@ +/******************************************************** + * find -- look for a data item in the list * + * * + * Parameters * + * name -- name to look for in the list * + * * + * Returns * + * 1 if name is found * + * 0 if name is not found * + ********************************************************/ +int file(char *name) +{ + /* current structure we are looking at */ + struct linked_list *current_ptr; + + current_ptr = first_ptr; + + while ((strcmp(current_ptr->data, name) != 0) && + (current_ptr != NULL)) + current_ptr = current_ptr->next_ptr; + + /* + * If current_ptr is null, we fell off the end of the list and + * didn't find the name + */ + return (current_ptr != NULL); +} |