|
gwenhywfar
5.4.1
|
#include <gwenhywfar/gwenhywfarapi.h>#include <gwenhywfar/misc.h>#include "stringlist_p.h"#include "debug.h"#include <stdlib.h>#include <assert.h>#include <string.h>
Go to the source code of this file.
Macros | |
| #define | DISABLE_DEBUGLOG |
| #define DISABLE_DEBUGLOG |
Definition at line 30 of file stringlist.c.
|
static |
Definition at line 600 of file stringlist.c.
Referenced by GWEN_StringList_Sort().

|
static |
Definition at line 619 of file stringlist.c.
Referenced by GWEN_StringList_Sort().

|
static |
Definition at line 582 of file stringlist.c.
Referenced by GWEN_StringList_Sort().

|
static |
Definition at line 609 of file stringlist.c.
Referenced by GWEN_StringList_Sort().

|
static |
Definition at line 634 of file stringlist.c.
Referenced by GWEN_StringList_Sort().

|
static |
Definition at line 591 of file stringlist.c.
Referenced by GWEN_StringList_Sort().

| void GWEN_StringList_AppendEntry | ( | GWEN_STRINGLIST * | sl, |
| GWEN_STRINGLISTENTRY * | se | ||
| ) |
Definition at line 135 of file stringlist.c.
Referenced by GWEN_StringList_AppendString(), and GWEN_StringList_dup().

| int GWEN_StringList_AppendString | ( | GWEN_STRINGLIST * | sl, |
| const char * | s, | ||
| int | take, | ||
| int | checkDouble | ||
| ) |
Appends a string.
| take | if true then the StringList takes over ownership of the string |
| checkDouble | if true the the string will only be appended if it does not already exist |
Definition at line 241 of file stringlist.c.
References GWEN_StringList_AppendEntry(), and GWEN_StringListEntry_new().
Referenced by _addLogLineToList(), FOX16_HtmlLabel::addMediaPath(), addToList(), Gtk2Gui_WComboBox_SetCharProperty(), Gtk3Gui_WComboBox_SetCharProperty(), GWEN_ConfigMgrDir_ListSubGroups(), GWEN_DBIO_CSV__ReadLine(), GWEN_DBIO_CSV_Import(), GWEN_Dialog_AddMediaPath(), GWEN_Dialog_AddMediaPathsFromPathManager(), GWEN_Directory_GetAllEntries(), GWEN_Directory_GetDirEntries(), GWEN_Directory_GetFileEntries(), GWEN_Directory_GetFileEntriesWithType(), GWEN_Directory_GetMatchingFilesRecursively(), GWEN_Gui_Internal_SetPasswordStatus(), GWEN_I18N_SetLocale(), GWEN_MDigest__HashFileTree(), GWEN_MsgEngine__ListGroup(), GWEN_MsgEngine__ShowGroup(), GWEN_PasswordStore_GetTokenList(), GWEN_PathManager_GetPaths(), GWEN_StringList_fromString(), GWEN_StringList_fromTabString(), GWEN_SyncIo_Buffered_ReadLinesToStringList(), GWEN_SyncIo_Tls_Prepare(), HtmlCtx_AddMediaPath(), Typemaker2_Builder_AddCode(), Typemaker2_Builder_AddLibraryDeclaration(), Typemaker2_Builder_AddPrivateDeclaration(), Typemaker2_Builder_AddProtectedDeclaration(), Typemaker2_Builder_AddPublicDeclaration(), and Typemaker2_TypeManager_AddFolder().


| void GWEN_StringList_Clear | ( | GWEN_STRINGLIST * | sl | ) |
Definition at line 224 of file stringlist.c.
References GWEN_StringListEntry_free().
Referenced by Gtk2Gui_WComboBox_SetCharProperty(), Gtk2Gui_WComboBox_SetIntProperty(), Gtk3Gui_WComboBox_SetCharProperty(), Gtk3Gui_WComboBox_SetIntProperty(), GWEN_DBIO_CSV_Import(), GWEN_I18N_SetLocale(), and Test_Gui_FlushLogs().


| unsigned int GWEN_StringList_Count | ( | const GWEN_STRINGLIST * | sl | ) |
Returns the number of elements in this list.
Definition at line 423 of file stringlist.c.
Referenced by _addLogLineToList(), _writeLinesToFile(), GWEN_DBIO_CSV_CheckFile(), GWEN_Directory_GetMatchingFilesRecursively(), GWEN_I18N_ModuleInit(), GWEN_MDigest_CheckFileTree(), GWEN_PathManager_GetPaths(), GWEN_StringList_fromString(), main(), print_paths(), Typemaker2_Builder_DetermineOutFileNames(), and Typemaker2_Builder_WriteFiles().

| GWEN_STRINGLIST* GWEN_StringList_dup | ( | const GWEN_STRINGLIST * | sl | ) |
Definition at line 526 of file stringlist.c.
References GWEN_StringList_AppendEntry(), GWEN_StringList_new(), and GWEN_StringListEntry_new().

| GWEN_STRINGLISTENTRY* GWEN_StringList_FindStringEntry | ( | const GWEN_STRINGLIST * | sl, |
| const char * | s | ||
| ) |
Returns the first stringlist entry which contains the given string
Definition at line 493 of file stringlist.c.
References NULL.
| GWEN_STRINGLISTENTRY* GWEN_StringList_FirstEntry | ( | const GWEN_STRINGLIST * | sl | ) |
Definition at line 386 of file stringlist.c.
Referenced by _writeLinesToFile(), add2Archive(), addToList(), buildFile2(), CocoaGui_WTextBrowser_SetCharProperty(), doBuildDefs(), GWEN_ConfigMgr_ModuleInit(), GWEN_ConfigMgrDir_ListSubGroups(), GWEN_Crypt_Token_ModuleInit(), GWEN_DBIO_CSV_Import(), GWEN_DBIO_ModuleInit(), GWEN_Dialog_AddMediaPathsFromPathManager(), GWEN_Directory_FindFileInPaths(), GWEN_Directory_FindPathForFile(), GWEN_Directory_GetMatchingFilesRecursively(), GWEN_LoadPluginDescrsByType(), GWEN_MDigest__HashFileTree(), GWEN_MDigest_CheckFileTree(), GWEN_MsgEngine__ListElement(), GWEN_MsgEngine__ShowElement(), GWEN_PluginDescription_GetLongDescrByFormat(), GWEN_PluginManager_GetPluginDescrs(), GWEN_PluginManager_LoadPlugin(), GWEN_StringList_ForEach(), GWEN_XMLNode_GetLocalizedCharValue(), hashTree(), FOX16_GuiDialog::setupTree(), showPasswords(), Typemaker2_Builder_WriteFile(), Typemaker2_FlagsFromString(), Typemaker2_TypeFlagsFromString(), and FOX16_HtmlLabel::updateHtml().

| const char* GWEN_StringList_FirstString | ( | const GWEN_STRINGLIST * | l | ) |
Returns the first string in this list.
Definition at line 572 of file stringlist.c.
Referenced by GWEN_I18N_ModuleInit(), and main().

| void* GWEN_StringList_ForEach | ( | const GWEN_STRINGLIST * | l, |
| void *(*)(const char *s, void *u) | func, | ||
| void * | user_data | ||
| ) |
Traverses the list, calling the callback function 'func' on each list element. Traversal will stop when 'func' returns a non-NULL value, and the routine will return with that value. Otherwise the routine will return NULL.
| l | The list to traverse. |
| func | The function to be called with each list element. |
| user_data | A pointer passed on to the function 'func'. |
Definition at line 547 of file stringlist.c.
References GWEN_StringList_FirstEntry(), GWEN_StringListEntry_Data(), and GWEN_StringListEntry_Next().
Referenced by print_paths().


| void GWEN_StringList_free | ( | GWEN_STRINGLIST * | sl | ) |
Definition at line 58 of file stringlist.c.
References GWEN_FREE_OBJECT, and GWEN_StringListEntry_free().
Referenced by _freeData(), add2Archive(), addToList(), buildFile2(), doBuildDefs(), Gtk2Gui_WComboBox_FreeData(), Gtk3Gui_WComboBox_FreeData(), GWEN_ConfigMgr_ModuleInit(), GWEN_ConfigMgrDir_ListSubGroups(), GWEN_Crypt_Token_ModuleInit(), GWEN_DBIO_CSV_CheckFile(), GWEN_DBIO_CSV_Import(), GWEN_DBIO_ModuleInit(), GWEN_Dialog_AddMediaPathsFromPathManager(), GWEN_Dialog_free(), GWEN_Directory_GetMatchingFilesRecursively(), GWEN_Gui_free(), GWEN_I18N_ModuleFini(), GWEN_I18N_ModuleInit(), GWEN_MDigest__HashFileTree(), GWEN_MDigest_CheckFileTree(), GWEN_MsgEngine_ListMessage(), GWEN_MsgEngine_ShowMessage(), GWEN_PathManager_GetPaths(), GWEN_PluginManager_GetPluginDescrs(), GWEN_PluginManager_LoadPlugin(), GWEN_StringList_fromString(), GWEN_SyncIo_Tls_Prepare(), hashTree(), HtmlCtx_FreeData(), main(), showPasswords(), TestGui_Unextend(), Typemaker2_Builder_free(), Typemaker2_FlagsFromString(), Typemaker2_Type_free(), Typemaker2_TypeFlagsFromString(), Typemaker2_TypeManager_free(), and FOX16_HtmlLabel::~FOX16_HtmlLabel().


| GWEN_STRINGLIST* GWEN_StringList_fromString | ( | const char * | str, |
| const char * | delimiters, | ||
| int | checkDouble | ||
| ) |
Definition at line 742 of file stringlist.c.
References GWEN_StringList_AppendString(), GWEN_StringList_Count(), GWEN_StringList_free(), GWEN_StringList_new(), and NULL.
Referenced by Typemaker2_FlagsFromString(), and Typemaker2_TypeFlagsFromString().


| GWEN_STRINGLIST* GWEN_StringList_fromTabString | ( | const char * | s, |
| int | checkDup | ||
| ) |
Definition at line 158 of file stringlist.c.
References GWEN_StringList_AppendString(), and GWEN_StringList_new().

| int GWEN_StringList_GetStringPos | ( | const GWEN_STRINGLIST * | sl, |
| const char * | s | ||
| ) |
Returns the position of the given string within the stringlist.
Definition at line 460 of file stringlist.c.
| int GWEN_StringList_HasString | ( | const GWEN_STRINGLIST * | sl, |
| const char * | s | ||
| ) |
Checks whether the given string already exists within in the string list.
Definition at line 431 of file stringlist.c.
Referenced by GWEN_Gui_Internal_GetPassword().

| int GWEN_StringList_InsertString | ( | GWEN_STRINGLIST * | sl, |
| const char * | s, | ||
| int | take, | ||
| int | checkDouble | ||
| ) |
Inserts a string.
| take | if true then the StringList takes over ownership of the string |
| checkDouble | if true the the string will only be appended if it does not already exist |
Definition at line 281 of file stringlist.c.
References GWEN_StringListEntry_new().

| GWEN_STRINGLIST* GWEN_StringList_new | ( | void | ) |
Definition at line 46 of file stringlist.c.
References GWEN_NEW_OBJECT.
Referenced by add2Archive(), addToList(), FOX16_HtmlLabel::FOX16_HtmlLabel(), Gtk2Gui_WComboBox_Setup(), Gtk3Gui_WComboBox_Setup(), GWEN_ConfigMgrDir_ListSubGroups(), GWEN_DBIO_CSV_CheckFile(), GWEN_DBIO_CSV_Import(), GWEN_Dialog_new(), GWEN_Directory_GetMatchingFilesRecursively(), GWEN_Gui_new(), GWEN_I18N_ModuleInit(), GWEN_MDigest__HashFileTree(), GWEN_MDigest_CheckFileTree(), GWEN_MsgEngine_ListMessage(), GWEN_MsgEngine_ShowMessage(), GWEN_PathManager_GetPaths(), GWEN_StringList_dup(), GWEN_StringList_fromString(), GWEN_StringList_fromTabString(), GWEN_SyncIo_Tls_Prepare(), hashTree(), HtmlCtx_new(), showPasswords(), TestGui_Extend(), Typemaker2_Builder_new(), Typemaker2_Type_new(), and Typemaker2_TypeManager_new().

| void GWEN_StringList_RemoveEntry | ( | GWEN_STRINGLIST * | sl, |
| GWEN_STRINGLISTENTRY * | se | ||
| ) |
Definition at line 194 of file stringlist.c.
Referenced by GWEN_StringList_RemoveFirstString(), and GWEN_StringList_RemoveString().

| void GWEN_StringList_RemoveFirstString | ( | GWEN_STRINGLIST * | sl | ) |
Removes the first string from the stringlist (if any).
Definition at line 365 of file stringlist.c.
References GWEN_StringList_RemoveEntry().
Referenced by _addLogLineToList().


| int GWEN_StringList_RemoveString | ( | GWEN_STRINGLIST * | sl, |
| const char * | s | ||
| ) |
Removes a given string from the stringlist.
Definition at line 322 of file stringlist.c.
References GWEN_StringList_RemoveEntry().
Referenced by GWEN_Gui_Internal_GetPassword(), GWEN_Gui_Internal_SetPasswordStatus(), and GWEN_MDigest_CheckFileTree().


| void GWEN_StringList_SetIgnoreRefCount | ( | GWEN_STRINGLIST * | sl, |
| int | i | ||
| ) |
Normally this group of functions ignores reference counters on stringlist entries when removing a string via GWEN_StringList_RemoveString. You can change this behaviour here.
| sl | string list |
| i | if 0 then reference counters are honoured |
Definition at line 83 of file stringlist.c.
| void GWEN_StringList_SetSenseCase | ( | GWEN_STRINGLIST * | sl, |
| int | i | ||
| ) |
Normally this group of functions ignores cases when comparing two strings. You can change this behaviour here.
| sl | string list |
| i | if 0 then cases are ignored |
Definition at line 75 of file stringlist.c.
| void GWEN_StringList_Sort | ( | GWEN_STRINGLIST * | l, |
| int | ascending, | ||
| GWEN_STRINGLIST_SORT_MODE | sortMode | ||
| ) |
Sorts this list. Internally this uses qsort(3), so the sorting should be reasonably fast even for large lists.
| l | The list to sort. |
| ascending | If non-zero, the list is sorted ascending, i.e. smallest string first, according to strcmp(3) rules. If zero, the list is sorted descending. |
| sortMode | See GWEN_StringList_SortModeNoCase and following |
Definition at line 651 of file stringlist.c.
References DBG_ERROR, GWEN_LOGDOMAIN, GWEN_StringList__compar_asc_case(), GWEN_StringList__compar_asc_int(), GWEN_StringList__compar_asc_nocase(), GWEN_StringList__compar_desc_case(), GWEN_StringList__compar_desc_int(), GWEN_StringList__compar_desc_nocase(), GWEN_StringList_SortModeCase, GWEN_StringList_SortModeInt, GWEN_StringList_SortModeNoCase, and NULL.

| const char* GWEN_StringList_StringAt | ( | const GWEN_STRINGLIST * | sl, |
| int | idx | ||
| ) |
Definition at line 726 of file stringlist.c.
Referenced by Gtk2Gui_WComboBox_GetCharProperty(), and Gtk3Gui_WComboBox_GetCharProperty().

| const char* GWEN_StringListEntry_Data | ( | const GWEN_STRINGLISTENTRY * | se | ) |
Definition at line 402 of file stringlist.c.
Referenced by _writeLinesToFile(), add2Archive(), addToList(), buildFile2(), CocoaGui_WTextBrowser_SetCharProperty(), doBuildDefs(), GWEN_ConfigMgr_ModuleInit(), GWEN_ConfigMgrDir_ListSubGroups(), GWEN_Crypt_Token_ModuleInit(), GWEN_DBIO_CSV_Import(), GWEN_DBIO_ModuleInit(), GWEN_Dialog_AddMediaPathsFromPathManager(), GWEN_Directory_FindFileInPaths(), GWEN_Directory_FindPathForFile(), GWEN_Directory_GetMatchingFilesRecursively(), GWEN_LoadPluginDescrsByType(), GWEN_MDigest__HashFileTree(), GWEN_MDigest_CheckFileTree(), GWEN_MsgEngine__ListElement(), GWEN_MsgEngine__ShowElement(), GWEN_PluginDescription_GetLongDescrByFormat(), GWEN_PluginManager_GetPluginDescrs(), GWEN_PluginManager_LoadPlugin(), GWEN_StringList_ForEach(), GWEN_XMLNode_GetLocalizedCharValue(), hashTree(), FOX16_GuiDialog::setupTree(), showPasswords(), Typemaker2_Builder_WriteFile(), Typemaker2_FlagsFromString(), Typemaker2_TypeFlagsFromString(), and FOX16_HtmlLabel::updateHtml().

| void GWEN_StringListEntry_free | ( | GWEN_STRINGLISTENTRY * | sl | ) |
Definition at line 124 of file stringlist.c.
References GWEN_FREE_OBJECT.
Referenced by GWEN_StringList_Clear(), and GWEN_StringList_free().

| GWEN_STRINGLISTENTRY* GWEN_StringListEntry_new | ( | const char * | s, |
| int | take | ||
| ) |
Definition at line 91 of file stringlist.c.
References GWEN_NEW_OBJECT.
Referenced by GWEN_StringList_AppendString(), GWEN_StringList_dup(), and GWEN_StringList_InsertString().

| GWEN_STRINGLISTENTRY* GWEN_StringListEntry_Next | ( | const GWEN_STRINGLISTENTRY * | se | ) |
Definition at line 394 of file stringlist.c.
Referenced by _writeLinesToFile(), add2Archive(), addToList(), buildFile2(), doBuildDefs(), GWEN_ConfigMgr_ModuleInit(), GWEN_ConfigMgrDir_ListSubGroups(), GWEN_Crypt_Token_ModuleInit(), GWEN_DBIO_CSV_Import(), GWEN_DBIO_ModuleInit(), GWEN_Dialog_AddMediaPathsFromPathManager(), GWEN_Directory_FindFileInPaths(), GWEN_Directory_FindPathForFile(), GWEN_Directory_GetMatchingFilesRecursively(), GWEN_LoadPluginDescrsByType(), GWEN_MDigest__HashFileTree(), GWEN_MDigest_CheckFileTree(), GWEN_MsgEngine__ListElement(), GWEN_MsgEngine__ShowElement(), GWEN_PluginDescription_GetLongDescrByFormat(), GWEN_PluginManager_GetPluginDescrs(), GWEN_PluginManager_LoadPlugin(), GWEN_StringList_ForEach(), GWEN_XMLNode_GetLocalizedCharValue(), hashTree(), FOX16_GuiDialog::setupTree(), showPasswords(), Typemaker2_Builder_WriteFile(), Typemaker2_FlagsFromString(), Typemaker2_TypeFlagsFromString(), and FOX16_HtmlLabel::updateHtml().

| void GWEN_StringListEntry_ReplaceString | ( | GWEN_STRINGLISTENTRY * | e, |
| const char * | s, | ||
| int | take | ||
| ) |
Definition at line 109 of file stringlist.c.
| void GWEN_StringListEntry_SetData | ( | GWEN_STRINGLISTENTRY * | se, |
| const char * | s | ||
| ) |
Definition at line 410 of file stringlist.c.
References NULL.
1.8.14