Skip to content
Snippets Groups Projects
list-test.c 894 B
Newer Older
Bruce Cowan's avatar
Bruce Cowan committed
/*
 * SPDX-FileCopyrightText: 2019-2023 Bruce Cowan <bruce@bcowan.me.uk>
Bruce Cowan's avatar
Bruce Cowan committed
 *
 * SPDX-License-Identifier: GPL-3.0-or-later
Bruce Cowan's avatar
Bruce Cowan committed
 */

#include <slist.h>
Bruce Cowan's avatar
Bruce Cowan committed

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

static SList *
add_data (SList *list)
{
  char buffer[128];
  printf ("Input the data ");
  scanf ("%s", buffer);
  char *str = strdup (buffer);
  return slist_prepend (list, str);
Bruce Cowan's avatar
Bruce Cowan committed
}

static void
print_data (SList *list)
{
  SList *l;
  for (l = list; l; l = l->next)
      printf ("%s\n", (char*) l->data);
main(void)
  SList *list = nullptr;

  for (int i = 0; i < 3; i++)
    {
      list = add_data (list);
      print_data (list);
    }
  for (int i = 2; i >= 1; i--)
      void *el = slist_nth (list, i)->data;
      list = slist_remove (list, el, nullptr);
  puts ("After deletion: ");
  print_data (list);
  slist_free_all(list, nullptr);
  return 0;