summaryrefslogtreecommitdiff
path: root/reference/C/CONTRIB/OR_PRACTICAL_C/16_2.c
diff options
context:
space:
mode:
Diffstat (limited to 'reference/C/CONTRIB/OR_PRACTICAL_C/16_2.c')
-rw-r--r--reference/C/CONTRIB/OR_PRACTICAL_C/16_2.c27
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);
+}