langdep.cc 650 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. /* $Header$ */
  2. #include "langdep.h"
  3. struct langlist {
  4. struct langlist *l_next;
  5. struct langdep *l_lang;
  6. char *l_suff;
  7. };
  8. /* STATICALLOCDEF "langlist" 5 */
  9. static struct langlist *list;
  10. struct langdep *currlang;
  11. static int
  12. add_language(suff, lang)
  13. char *suff;
  14. struct langdep *lang;
  15. {
  16. struct langlist *p = new_langlist();
  17. p->l_next = list;
  18. p->l_suff = suff;
  19. p->l_lang = lang;
  20. list = p;
  21. }
  22. int
  23. init_languages()
  24. {
  25. add_language(".mod", m2_dep);
  26. }
  27. int
  28. find_language(suff)
  29. char *suff;
  30. {
  31. register struct langlist *p = list;
  32. while (p) {
  33. currlang = p->l_lang;
  34. if (! strcmp(p->l_suff, suff)) break;
  35. p = p->l_next;
  36. }
  37. }