home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / unix / volume8 / jove / part03 / table.c < prev   
Encoding:
C/C++ Source or Header  |  1987-02-02  |  1.1 KB  |  51 lines

  1. /************************************************************************
  2.  * This program is Copyright (C) 1986 by Jonathan Payne.  JOVE is       *
  3.  * provided to you without charge, and with no warranty.  You may give  *
  4.  * away copies of JOVE, including sources, provided that this notice is *
  5.  * included in all the files.                                           *
  6.  ************************************************************************/
  7.  
  8. #include "jove.h"
  9. #include "table.h"
  10.  
  11. private Table    *tables = NIL;
  12.  
  13. Table *
  14. make_table()
  15. {
  16.     Table    *tab = (Table *) emalloc(sizeof *tab);
  17.  
  18.     tab->t_next = tables;
  19.     tables = tab;
  20.     tab->t_wordlist = NIL;
  21.  
  22.     return tab;
  23. }
  24.  
  25. Word *
  26. word_in_table(text, table)
  27. char    *text;
  28. Table    *table;
  29. {
  30.     register Word    *w;
  31.  
  32.     for (w = table_top(table); w != NIL; w = next_word(w))
  33.         if (strcmp(word_text(w), text) == 0)
  34.             break;    /* already in list */
  35.     return w;
  36. }
  37.  
  38. add_word(wname, table)
  39. char    *wname;
  40. Table    *table;
  41. {
  42.     register Word    *w;
  43.  
  44.     if (w = word_in_table(wname, table))
  45.         return;
  46.     w = (Word *) emalloc(sizeof *w);
  47.     word_text(w) = wname;
  48.     next_word(w) = table_top(table);
  49.     table_top(table) = w;
  50. }
  51.