This NEWS file for liblingoteach covers a short overview about the latest changes. 0.2.1 2003/11/23: ------------------- * ling_conf_set_app_name() and ling_conf_set_lang_file() return NULL on failure instead of NULL or an empty lingConfig * In some cases ling_lang_get_languages() produced memory leaks. This has been fixed. * In some cases ling_lang_get_max_languages() produced memory leaks. This has been fixed. * Some internal lesson functions did not initialize structures correctly. This has been fixed. * Some internal lesson functions did not clean up all memory references, which resulted in high memory usage and possible memory leaks. This has been fixed. * In seldom cases ling_lesson_save_lesson() did not close the file correctly, which could lead to incorrect saving and buggy file contents. This has been fixed. * If meaning ids had negative values, ling_lesson_create_tree() could get mad and produce unwanted results. This has been fixed. * Missing checks for successful memory allocation in ling_lesson_create_tree() could lead to unwanted results and segmentation faults. This has been fixed. * Missing checks could lead to unwated results and segmentation faults due to wrong data passed to libxml2 in ling_meaning_find_sound(). This has been fixed. * A wrong buffer size could lead to segmentation faults when using ling_meaning_save_lesson(). This has been fixed. * ling_meaning_get_by_word_id() could cause a inconsistent memory table in libxml2 due to a missing allocation check. This has been fixed. * ling_meaning_save_meanings() returned TRUE, disregarding if the lesson could be saved to a file or not. This has been fixed. * ling_meaning_get_new() will now initialize all members with NULL or 0. * ling_lang_get_languages will now return -1 on failure * New function ling_lang_free_languages for freeing language arrays created by ling_lang_get_languages. * ling_lesson_return_rand_lesson() can spin in an endless loop due to a wrong check. This is fixed. It now returns NULL if nothing can be found within twenty loop rounds. * Meanings now support additional descriptions. Thanks to Dag Bakke and others for reporting errors. 0.2.0 2003/10/12: ------------------- * Types have been changed to work as linked lists (lingMeaning). * A new type lingLesson for lesson lists has been introduced. * all global variables, except the defines for XPath-validation have been removed. The library can now be used by multiple programs at the same time. * Meaning lists can now easily be modified using different manipulation interfaces like edit, add and remove. * A new type lingConfig is introduced on a per lesson base. * The library now handles application names for all lessons. * All interfaces have changed.