|
JunkBox_Lib 1.10.1
|
Tiny List 構造ライブラリ More...

Go to the source code of this file.
Functions | |
| tList_data | init_tList_data (void) |
| 空のノードデータを静的に作成.データを初期化するのに使用する. | |
| tList_data | make_tList_data (int id, int lv, Buffer key, Buffer val, void *ptr, int sz) |
| データを指定してノードデータを作成 | |
| tList_data | make_tList_data_bystr (int id, int lv, const char *key, const char *val, void *ptr, int sz) |
| 文字列データを指定してノードデータを作成 | |
| void | clear_tList_data (tList_data *ldat) |
| ノードデータのバッファ部をクリアする.データ自身は削除しない. | |
| void | del_tList_data (tList_data **ldat) |
| ノードデータを削除する. | |
| tList_data | dup_tList_data (tList_data ldat) |
| ノードデータの複製を作成する | |
| tList * | new_tList_node (void) |
| リスト用の空ノードを動的に生成する. | |
| tList | make_tList_node (tList_data ldat) |
| リスト用ノードを静的に作成する. | |
| tList * | free_tList_node (tList *node) |
| リスト用ノードのバッファ部(データ)の解放. | |
| tList * | del_tList_node (tList **node) |
| リスト用のノードを削除. | |
| tList * | dup_tList_node (tList *node) |
| ノードデータを複製する (new).ノードのポインタは複製しない. | |
| tList * | move_tList_node (tList *pp, tList *node) |
| nodeを現在のリストから切り離し,ppへ移動する. | |
| tList * | swap_tList_node (tList *pp1, tList *pp2) |
| pp1ノード と pp2ノードを入れ替える. | |
| tList * | new_tList_anchor_node (void) |
| リスト用の ANCHORノードを動的に生成. | |
| tList * | del_tList_anchor_node (tList *node) |
| ANCHORノードを削除して,TOPのポインターを返す. | |
| tList * | add_tList_node_bydata (tList *pp, tList_data ldat) |
| データ(ldat)からリスト用ノードを生成し(new),それを指定したリストの後ろに追加. | |
| tList * | add_tList_node_bystr (tList *pp, int id, int lv, const char *key, const char *val, void *ptr, int sz) |
| 文字列データからリスト用ノードを生成し(new),それをリストに追加. | |
| tList * | add_tList_node_byBuffer (tList *pp, int id, int lv, Buffer key, Buffer val, void *ptr, int sz) |
| Buffer データからリスト用ノードを生成し(new),それをリストに追加. | |
| void | set_tList_node_bydata (tList *node, tList_data dat) |
| リストのノードに値を設定する. | |
| void | set_tList_node_bystr (tList *pp, int id, int lv, const char *key, const char *val, void *ptr, int sz) |
| 文字列データからリストのノードに値を設定する.それぞれのデータは複製されて設定される. | |
| void | set_tList_node_byBuffer (tList *pp, int id, int lv, Buffer key, Buffer val, void *ptr, int sz) |
| リストのノードに値を設定する.それぞれのデータは複製されて設定される. | |
| tList * | update_tList_node (tList *pp, tList *pt) |
| pt->keyで検索し,ノードがあればノードをコピーする.無ければ最後にノードを追加する(new). | |
| tList * | update_tList_node_bydata (tList *pp, char *srch, tList_data ldat) |
| keyで検索し,ノードがあればノードをコピーする.無ければ最後にノードを追加する(new). | |
| tList * | update_tList_node_bystr (tList *pp, int id, int lv, const char *key, const char *val, void *ptr, int sz) |
| keyで検索し,ノードがあればノードをコピーする.無ければ最後に追加する(new) | |
| tList * | update_tList_node_byBuffer (tList *pp, int id, int lv, Buffer key, Buffer val, void *ptr, int sz) |
| key.bufで検索し,ノードがあれば設定する.無ければ最後に追加する(new). | |
| tList * | del_tList (tList **pp) |
| 指定したリストノード以降のリストを削除. | |
| void | del_all_tList (tList **pp) |
| リストの全ノードの削除.ポインタ ppのノードを含むリスト全体を削除する. | |
| int | del_tList_key (tList **pl, const char *key, int no) |
| plからサーチして,no番目の keyのノードを削除する. | |
| tList * | dup_tList (tList *pp) |
| リストを複製する. | |
| tList * | add_tList_end (tList *pp, tList *pt) |
| リストppの最後に リストptを追加する. | |
| tList * | insert_tList (tList *pp, tList *pt) |
| ノードppの直ぐ後ろに ptを挿入する. | |
| void | print_tList (FILE *fp, tList *pp) |
| リストの表示.ポインタ pp以降の全てのノードを fpに表示する. | |
| void | dump_tList (FILE *fp, tList *pp) |
| val.buf を 16進ダンプする.他のデータは通常通り表示する. | |
| int | count_tList (tList *pp) |
| リストの ppノード以降のノードの数を数える. | |
| tList * | find_tList_top (tList *pl) |
| リストの最初のノードを探す. | |
| tList * | find_tList_end (tList *pl) |
| リストの最後のノードを探す. | |
| tList * | strncmp_tList (tList *pl, const char *key, int len, int no) |
| char* 型変数によるノードのサーチ. | |
| tList * | strncasecmp_tList (tList *pl, const char *key, int len, int no) |
| char* 型変数によるノードのサーチ.大文字小文字を無視する | |
| tList * | strnrvscmp_tList (tList *pl, const char *key, int len, int no) |
| char* 型変数によるノードのサーチ.文字の後方から比べる | |
| tList * | strncaservscmp_tList (tList *pl, const char *key, int len, int no) |
| char* 型変数によるノードのサーチ.文字の後方から比べる.大文字小文字を無視. | |
| tList * | strstr_tList (tList *pl, const char *key, int len, int no) |
| char* 型変数によるノードの部分文字列サーチ. | |
| tList * | strstrcase_tList (tList *pl, const char *key, int len, int no) |
| char* 型変数によるノードの部分文字列サーチ.大文字小文字を無視. | |
| tList * | strncmp_back_tList (tList *pl, const char *key, int len, int no) |
| char* 型変数によるリストの後方からのノードのサーチ. | |
| tList * | strncasecmp_back_tList (tList *pl, const char *key, int len, int no) |
| char* 型変数によるリストの後方からのノードのサーチ.大文字小文字を無視. | |
| tList * | strnrvscmp_back_tList (tList *pl, const char *key, int len, int no) |
| char* 型変数によるリストの後方からのノードのサーチ.文字も後方から比べる. | |
| tList * | strncaservscmp_back_tList (tList *pl, const char *key, int len, int no) |
| char* 型変数によるリストの後方からのノードのサーチ.文字も後方から比べる.大文字小文字を無視. | |
| tList * | strstr_back_tList (tList *pl, const char *key, int len, int no) |
| char* 型変数によるリストの後方からのノードの部分文字列サーチ. | |
| tList * | strstrcase_back_tList (tList *pl, const char *key, int len, int no) |
| char* 型変数による後方からのノードの部分文字列サーチ.大文字小文字を無視. | |
| tList * | search_id_tList (tList *pl, int id, int no) |
| リストの中から no番目の idノード(ldat.id)を探し出し,tListのポインタを返す. | |
| tList * | search_key_tList (tList *pl, const char *key, int no) |
| リストの中から no番目の keyノード(ldat.key)を探し出し,tListへのポインタを返す.大文字小文字を無視. | |
| Buffer | buffer_key_tList (tList *list, const char *key, int no) |
| リストの中から no番目の keyノード(ldat.key)を探し出し,ldat.valのコピーを返す. | |
| Buffer | buffer_key_value_tList (tList *list, const char *key, char *data, int no) |
| リストの中から no番目の keyノードを探し出し,ノード値が data で始まる場合,そのノード値を返す. | |
| int | set_value_tList (tList *list, const char *key, int no, const char *value, int add_mode) |
| リスト(lt)中の no番目の keyノードの値に valueを設定する. | |
| int | set_value_tList_node (tList *lp, const char *value) |
| lt->ldat.val に文字列を設定する(置き換える). | |
| int | replace_value_tList (tList *list, const char *key, int no, const char *srcval, char *value) |
| リスト(lt)中の no番目の keyノードの値の srcvalの部分を value に置き換える. | |
| int | replace_value_tList_node (tList *lp, const char *srcval, const char *value) |
| lt->ldat.val のsrcval部分を value に置き換える. | |
| tList * | awk_tList (char *str, char cc) |
| 文字列を区切り文字で区切って,各項目をリストのキー部に入れて返す. | |
| tList * | cawk_tList (char *str, char cc) |
| 文字列を区切り文字で区切って,各項目をリストのキー部に入れて返す.連続文字列対応. | |
| tList * | awk_Buffer_tList (Buffer buf, char cc) |
| Buffer 中の文字列を区切り文字で区切って,各項目をリストのキー部に入れて返す. | |
| tList * | cawk_Buffer_tList (Buffer buf, char cc) |
| Buffer 中の文字列を区切り文字で区切って,各項目をリストのキー部に入れて返す.連続文字列対応. | |
| char * | get_str_join_tList (tList *lp, const char *deli) |
| リストの一連のキー部を deliを区切りにして結合して,その文字列を返す. 要 free | |
| Buffer | get_Buffer_join_tList (tList *lp, const char *deli) |
| リストの一連のキー部を deliを区切りにして結合して返す. | |
| char * | get_str_param_tList (tList *lt, const char *key, const char *dflt) |
| keyに対応する値を 文字列として読み出す.キーがない場合は,デフォルト値 dflt を返す.要 free(). | |
| int | get_int_param_tList (tList *lt, const char *key, int dflt) |
| keyに対応する値を 整数として読み出す.キーがない場合は,デフォルト値 dflt を返す.. | |
| double | get_double_param_tList (tList *lt, const char *key, double dflt) |
| keyに対応する値を double型実数として読み出す.キーがない場合は,デフォルト値 dflt を返す. | |
| float | get_float_param_tList (tList *lt, const char *key, float dflt) |
| keyに対応する値を float型実数として読み出す.キーがない場合は,デフォルト値 dflt を返す. | |
| int | get_bool_param_tList (tList *lt, const char *key, int dflt) |
| keyに対応する値を 論理値(実際は整数)として読み出す.キーがない場合は,デフォルト値 dflt を返す. | |
| tList * | read_tList_file (const char *fname, int mode) |
| ファイルから一行ずつ読み込んでリストのキー部に格納.空行はリストに加えない. | |
| tList * | read_tList_fp (FILE *fp, int mode) |
| ファイルポインタが示すファイルから一行ずつ読み込んでリストのキー部に格納. | |
| tList * | read_index_tList_file (const char *fname, char deli) |
| ファイルから一行ずつ読み込んで,deliを区切り文字にしてリストのキー部とデータ部に格納. | |
| tList * | read_index_tList_fp (FILE *fp, char deli) |
| ファイルポインタが示すファイルから一行ずつ読み込んで,deliを区切り文字にしてリストのキー部とデータ部に格納. | |
| tList * | read_Buffer_tList_file (const char *fname) |
| ファイルから Buffer型変数を 2つずつ読み込んで,リストのキー部とバッファ部に格納し返す. | |
| tList * | read_Buffer_tList_fp (FILE *fp) |
| ファイルポインタから Buffer型変数を 2つずつ読み込んで,リストのキー部とバッファ部に格納し返す. | |
| int | save_Buffer_tList_file (const char *fname, tList *lp) |
| リストのキー部とバッファ部の Buffer型変数をファイルへ書き込む. | |
| int | save_Buffer_tList_fp (FILE *fp, tList *lp) |
| リストのキー部とバッファ部の Buffer型変数をファイルポンタが指すファイルへ書き込む. | |
tList* add_tList_end(tList* pp, tList* pt)
リストppの最後に リストptを追加する.
| pp | 先頭のリストへのポインタ |
| pt | 追加するリストへのポインタ |
Definition at line 877 of file tlist.c.
References find_tList_end().
Referenced by add_xml_attr(), get_dir_files_rcsv(), and read_ldap_config().


| tList * add_tList_node_byBuffer | ( | tList * | pp, |
| int | id, | ||
| int | lv, | ||
| Buffer | key, | ||
| Buffer | val, | ||
| void * | ptr, | ||
| int | sz ) |
tList* add_tList_node_byBuffer(tList* pp, int id, int lv, Buffer key, Buffer val, void* ptr, int sz)
Buffer データからリスト用ノードを生成し(new),それをリストに追加.
リストポインタ ppが指すノードの後につくり出した ノードを挿入する. sz>0 で ptr==NULL の場合は ptrの領域を確保し,0クリアする.
| pp | 追加する場所の手前のノードへのポインタ. |
| id | 追加するデータ. |
| lv | 追加するデータ. |
| key | 追加するデータ. 複製 |
| val | 追加するデータ. 複製 |
| *ptr | 汎用データへのポインタ 複製 |
| sz | *ptr のサイズ |
Definition at line 492 of file tlist.c.
References add_tList_node_bydata(), and make_tList_data().
Referenced by read_index_tList_fp(), and update_tList_node_byBuffer().


| tList * add_tList_node_bydata | ( | tList * | pp, |
| tList_data | ldat ) |
tList* add_tList_node_bydata(tList* pp, tList_data ldat)
データ(ldat)からリスト用ノードを生成し(new),それを指定したリストの後ろに追加.
リストポインタ ppが指すノードの後につくり出した ノードを挿入する. ldat は指定されたものがそのまま使用される.
| pp | 追加する場所の手前のノードへのポインタ. |
| ldat | 追加するノードデータ.このデータがそのまま使用される. |
Definition at line 417 of file tlist.c.
References new_tList_node().
Referenced by _add_key_val_list(), add_tList_node_byBuffer(), add_tList_node_bystr(), and update_tList_node_bydata().


| tList * add_tList_node_bystr | ( | tList * | pp, |
| int | id, | ||
| int | lv, | ||
| const char * | key, | ||
| const char * | val, | ||
| void * | ptr, | ||
| int | sz ) |
tList* add_tList_node_bystr(tList* pp, int id, int lv, const char* key, const char* val, void* ptr, int sz)
文字列データからリスト用ノードを生成し(new),それをリストに追加.
リストポインタ ppが指すノードの後につくり出した ノードを挿入する. sz>0 で ptr==NULL の場合は ptrの領域を確保し,0クリアする.
| pp | 追加する場所の手前のノードへのポインタ. |
| id | 追加するデータ. |
| lv | 追加するデータ. |
| key | 追加するデータ. 複製 |
| val | 追加するデータ. 複製 |
| ptr | 汎用データへのポインタ 複製 |
| sz | *ptr のサイズ |
Definition at line 462 of file tlist.c.
References add_tList_node_bydata(), and make_tList_data_bystr().
Referenced by awk_Buffer_tList(), awk_tList(), cawk_Buffer_tList(), cawk_tList(), jbxl_add_state(), and update_tList_node_bystr().


tList* awk_Buffer_tList(Buffer buf, char cc)
Buffer 中の文字列を区切り文字で区切って,各項目をリストのキー部に入れて返す.
項目が存在しない場合でもリストは返す(キー部の bufが NULL).
| buf | 処理する Buffer変数 |
| cc | 項目の区切り文字 |
Definition at line 1883 of file tlist.c.
References add_tList_node_bystr(), awk_Buffer(), buf, Buffer::buf, find_tList_top(), and free_Buffer().
Referenced by awk_Buffer_dim().


| tList * awk_tList | ( | char * | str, |
| char | cc ) |
tList* awk_tList(char* str, char cc)
文字列を区切り文字で区切って,各項目をリストのキー部に入れて返す.
項目が存在しない場合でもリストは返す(キー部の bufが NULL).
| str | 処理する文字列 |
| cc | 項目の区切り文字 |
Definition at line 1805 of file tlist.c.
References add_tList_node_bystr(), awk(), find_tList_top(), and make_Buffer_bystr.
Referenced by bvh_get_seq_data(), get_tList_line_Buffer(), and get_tList_seq_data_Buffer().


Buffer buffer_key_tList(tList* list, const char* key, int no)
リストの中から no番目の keyノード(ldat.key)を探し出し,ldat.valのコピーを返す.
key はケースインセンシティブ.
| list | 検索を行うリストへのポインタ. |
| key | ヘッダ種別.大文字,小文字を区別しない. |
| no | 何番目のノードを取り出すか指定する.1から数える. |
Definition at line 1595 of file tlist.c.
References buf, dup_Buffer(), init_Buffer(), and strncasecmp_tList().
Referenced by buffer_key_value_tList(), get_double_param_tList(), get_float_param_tList(), get_int_param_tList(), get_str_param_tList(), and read_ldap_config().


Buffer buffer_key_value_tList(tList* list, const char* key, char* data, int no)
リストの中から no番目の keyノードを探し出し,ノード値が data で始まる場合,そのノード値を返す.
key, dataはケースインセンシティブ.
| list | 検索を行うリストへのポインタ. |
| key | ヘッダ種別. 大文字,小文字を区別しない. |
| data | チェックするノード値の最初の文字. |
| no | 何番目のノードを取り出すか指定する.1から数える. |
Definition at line 1626 of file tlist.c.
References buf, buffer_key_tList(), init_Buffer(), len, make_Buffer_bystr, and strncasecmp_tList().

tList* cawk_Buffer_tList(Buffer buf, char cc)
Buffer 中の文字列を区切り文字で区切って,各項目をリストのキー部に入れて返す.
複数の区切り文字も1個と見なす.
項目が存在しない場合でもリストは返す(キー部の bufが NULL).
| buf | 処理する Buffer変数 |
| cc | 項目の区切り文字 |
Definition at line 1914 of file tlist.c.
References add_tList_node_bystr(), buf, Buffer::buf, cawk_Buffer(), find_tList_top(), and free_Buffer().
Referenced by cawk_Buffer_dim().


| tList * cawk_tList | ( | char * | str, |
| char | cc ) |
tList* cawk_tList(char* str, char cc)
文字列を区切り文字で区切って,各項目をリストのキー部に入れて返す.
複数の区切り文字も1個と見なす.
項目が存在しない場合でもリストは返す(キー部の bufが NULL).
| str | 処理する文字列 |
| cc | 項目の区切り文字 |
Definition at line 1844 of file tlist.c.
References add_tList_node_bystr(), cawk(), find_tList_top(), and make_Buffer_bystr.

| void clear_tList_data | ( | tList_data * | ldat | ) |
void clear_tList_data(tList_data* ldat)
ノードデータのバッファ部をクリアする.データ自身は削除しない.
| ldat | クリアするノードデータ |
Definition at line 120 of file tlist.c.
References del_all_tList(), free_Buffer(), and init_Buffer().
Referenced by del_sisters_children_tTree(), del_tList(), del_tList_data(), del_tTree(), free_tList_node(), free_tTree_node(), json_insert_child(), and set_tList_node_bydata().


| int count_tList | ( | tList * | pp | ) |
リストの ppノード以降のノードの数を数える.
| pp | 数え始めるノードへのポインタ. |
Definition at line 979 of file tlist.c.
Referenced by print_sister_xml_tree(), and print_xml_node().

| void del_all_tList | ( | tList ** | pp | ) |
void del_all_tList(tList** pp)
リストの全ノードの削除.ポインタ ppのノードを含むリスト全体を削除する.
但し altp のリンク先は削除しない. pp はりスト中であれば,どこを指していても良い.
| [in] | *pp | 削除を開始するノードへのポインタ. |
| [out] | *pp | NULL |
Definition at line 769 of file tlist.c.
References del_tList_node().
Referenced by _copy_tTree_byctrl(), add_resource_list(), awk_Buffer_dim(), cawk_Buffer_dim(), clear_tList_data(), get_mime_filename(), read_index_tList_fp(), read_ipaddr_file(), read_ipaddr_fp(), read_ldap_config(), and set_xml_attr().


tList* del_tList(tList** pp)
指定したリストノード以降のリストを削除.
| [in] | *pp | 削除するノードへのポインタ. |
| [out] | *pp | NULL |
Definition at line 735 of file tlist.c.
References clear_tList_data().
Referenced by bvh_find_line(), bvh_parse_data(), bvh_parse_hierarchy(), bvh_parse_motion(), get_dir_files_rcsv(), jbxl_init_state_info(), recv_http_Buffer(), replace_sdp_invite_addr(), rm_dir_rcsv(), set_xml_content_list(), simple_web_proxy(), and www2browser_relay().


Definition at line 387 of file tlist.c.
References free_tList_node(), and TLIST_ANCHOR_NODE.

| void del_tList_data | ( | tList_data ** | ldat | ) |
void del_tList_data(tList_data** ldat)
ノードデータを削除する.
| ldat | クリアするノードデータ |
Definition at line 149 of file tlist.c.
References clear_tList_data().

| int del_tList_key | ( | tList ** | pl, |
| const char * | key, | ||
| int | no ) |
int del_tList_key(tList* pl, const char* key, int no)
plからサーチして,no番目の keyのノードを削除する.
| pl | サーチを開始するノードへのポインタ. |
| key | サーチキー(文字列).大文字,小文字を区別しない. |
| no | 一致した物の中で何番目の物を削除するか指定する.1から数える.0の場合は全て削除する. |
Definition at line 805 of file tlist.c.
References del_tList_node(), and ex_strncasecmp().

tList* del_tList_node(tList** node)
リスト用のノードを削除. リストポインタ nodeが指すノードを削除し,リスト構造を詰める.
| [in] | *node | 削除ノードへのポインタ. |
| [out] | *node | NULL |
Definition at line 270 of file tlist.c.
References free_tList_node().
Referenced by _add_key_val_list(), del_all_tList(), del_sip_record_route(), del_sip_record_route_all(), del_sip_via(), del_tList_key(), http_proxy_header_analyze(), replace_sdp_invite_addr(), and set_protocol_contents().


| void dump_tList | ( | FILE * | fp, |
| tList * | pp ) |
void dump_tList(FILE* fp, tList* pp)
val.buf を 16進ダンプする.他のデータは通常通り表示する.
Definition at line 952 of file tlist.c.
References fdump().

tList* dup_tList(tList* pp)
リストを複製する.
| pp | 複製元のリストへのポインタ. |
Definition at line 843 of file tlist.c.
References dup_tList_node(), and insert_tList().
Referenced by _copy_tTree_byctrl(), dup_tList_data(), get_dir_files_rcsv(), and set_xml_attr().


| tList_data dup_tList_data | ( | tList_data | ldat | ) |
tList_data dup_tList_data(tList_data ldat)
ノードデータの複製を作成する.
ldat.ptr にデータがあるなら,ldat.sz には正確にldat.ptrのサイズが設定されている必要がある.
| ldat | 複製するノードデータ |
Definition at line 169 of file tlist.c.
References dup_Buffer(), and dup_tList().
Referenced by dup_tList_node().


tList* dup_tList_node(tList* node)
ノードデータを複製する (new).ノードのポインタは複製しない.
Definition at line 287 of file tlist.c.
References dup_tList_data().
Referenced by dup_merge_tTree(), and dup_tList().


tList* find_tList_end(tList* pl)
リストの最後のノードを探す.
| pl | サーチを開始するノードへのポインタ. |
Definition at line 1023 of file tlist.c.
Referenced by add_resource_list(), add_tList_end(), check_match_tTree(), check_match_xml(), find_protocol_end(), insert_tList(), strncasecmp_back_tList(), strncaservscmp_back_tList(), strncmp_back_tList(), strnrvscmp_back_tList(), strstr_back_tList(), strstrcase_back_tList(), update_tList_node_byBuffer(), update_tList_node_bydata(), and update_tList_node_bystr().

tList* find_tList_top(tList* pl)
リストの最初のノードを探す.
| pl | サーチを開始するノードへのポインタ. |
Definition at line 1002 of file tlist.c.
Referenced by awk_Buffer_tList(), awk_tList(), cawk_Buffer_tList(), cawk_tList(), get_mime_filename(), get_protocol_header_list(), and recv_http_header().

tList* free_tList_node(tList* node)
リスト用ノードのバッファ部(データ)の解放.
| node | 解放するノードへのポインタ. |
Definition at line 243 of file tlist.c.
References clear_tList_data().
Referenced by del_tList_anchor_node(), and del_tList_node().


| int get_bool_param_tList | ( | tList * | lt, |
| const char * | key, | ||
| int | dflt ) |
int get_bool_param_tList(tList* lt, const char* key, int dflt)
リストから keyに対応するデータ部を 論理値(実際は整数)として読み出す.キーがない場合は,デフォルト値 dflt を返す.
read_index_tList_file() と組み合わせて使用する.
| lt | ファイルから read_index_tList_file() を使用して読み込んだリスト. |
| key | 検索キー |
| dflt | デフォルト値 |
Definition at line 2091 of file tlist.c.
References get_str_param_tList().

Buffer get_Buffer_join_tList(tList* lp, const char* deli)
リストの一連のキー部を deliを区切りにして結合する.
Definition at line 1953 of file tlist.c.
References buf, cat_s2Buffer, init_Buffer(), LBUF, and make_Buffer().
Referenced by get_str_join_tList().


| double get_double_param_tList | ( | tList * | lt, |
| const char * | key, | ||
| double | dflt ) |
double get_double_param_tList(tList* lt, const char* key, double dflt)
リストから keyに対応するデータ部を double型実数として読み出す.キーがない場合は,デフォルト値 dflt を返す.
read_index_tList_file() と組み合わせて使用する.
| lt | ファイルから read_index_tList_file() を使用して読み込んだリスト. |
| key | 検索キー |
| dflt | デフォルト値 |
Definition at line 2041 of file tlist.c.
References buf, buffer_key_tList(), and free_Buffer().

| float get_float_param_tList | ( | tList * | lt, |
| const char * | key, | ||
| float | dflt ) |
float get_float_param_tList(tList* lt, const char* key, float dflt)
リストから keyに対応するデータ部を floate型実数として読み出す.キーがない場合は,デフォルト値 dflt を返す.
read_index_tList_file() と組み合わせて使用する.
| lt | ファイルから read_index_tList_file() を使用して読み込んだリスト. |
| key | 検索キー |
| dflt | デフォルト値 |
Definition at line 2066 of file tlist.c.
References buf, buffer_key_tList(), and free_Buffer().

| int get_int_param_tList | ( | tList * | lt, |
| const char * | key, | ||
| int | dflt ) |
int get_int_param_tList(tList* lt, const char* key, int dflt)
リストから keyに対応するデータ部を 整数として読み出す.キーがない場合は,デフォルト値 dflt を返す.
read_index_tList_file() と組み合わせて使用する.
| lt | ファイルから read_index_tList_file() を使用して読み込んだリスト. |
| key | 検索キー |
| dflt | デフォルト値 |
Definition at line 2016 of file tlist.c.
References buf, buffer_key_tList(), and free_Buffer().

| char * get_str_join_tList | ( | tList * | lp, |
| const char * | deli ) |
char* get_str_join_tList(tList* lp, const char* deli)
リストの一連のキー部を deliを区切りにして結合して,その文字列を返す.
要 free()
Definition at line 1941 of file tlist.c.
References buf, and get_Buffer_join_tList().

| char * get_str_param_tList | ( | tList * | lt, |
| const char * | key, | ||
| const char * | dflt ) |
char* get_str_param_tList(tList* lt, const char* key, const char* dflt)
リストから keyに対応するデータ部を 文字列として読み出す.キーがない場合は,デフォルト値 dflt を返す.
read_index_tList_file() と組み合わせて使用する.
要 free()
| lt | ファイルから read_index_tList_file() を使用して読み込んだリスト. |
| key | 検索キー |
| dflt | デフォルト値 |
Definition at line 1994 of file tlist.c.
References buf, buffer_key_tList(), and make_Buffer_bystr.
Referenced by get_bool_param_tList().


| tList_data init_tList_data | ( | void | ) |
tList_data init_tList_data(void)
空のノードデータを静的に作成.データを初期化するのに使用する.
Definition at line 26 of file tlist.c.
Referenced by new_tList_anchor_node(), new_tList_node(), new_tTree_anchor_node(), and new_tTree_node().

tList* insert_tList(tList* pp, tList* pt)
ノードppの直ぐ後ろに ptを挿入する.
| pp | 先頭のリストへのポインタ |
| pt | 挿入するリストへのポインタ |
Definition at line 903 of file tlist.c.
References find_tList_end().
Referenced by _find_match_tTree_endlist_rcsv(), _find_match_xml_endlist_rcsv(), and dup_tList().


| tList_data make_tList_data | ( | int | id, |
| int | lv, | ||
| Buffer | key, | ||
| Buffer | val, | ||
| void * | ptr, | ||
| int | sz ) |
tList_data make_tList_data(int id, int lv, Buffer key, Buffer val, void* ptr, int sz)
データを指定してノードデータを作成
sz>0 で ptr==NULL の場合は ptrの領域を確保し,0クリアする.
| id | ノードのID |
| lv | ノードのデータ |
| key | ノードのキー (Buffer) 複製 |
| val | ノードのデータ (Buffer) 複製 |
| ptr | 汎用データへのポインタ 複製 |
| sz | *ptr のサイズ |
Definition at line 50 of file tlist.c.
References dup_Buffer().
Referenced by add_tList_node_byBuffer(), add_tTree_node_byBuffer(), and insert_tTree_node_byBuffer().


| tList_data make_tList_data_bystr | ( | int | id, |
| int | lv, | ||
| const char * | key, | ||
| const char * | val, | ||
| void * | ptr, | ||
| int | sz ) |
tList_data make_tList_data_bystr(int id, int lv, const char* key, const char* val, void* ptr, int sz)
文字列データを指定してノードデータを作成
sz>0 で ptr==NULL の場合は ptrの領域を確保し,0クリアする.
| id | ノードのID |
| lv | ノードのデータ |
| key | ノードのキー 複製 |
| val | ノードのデータ 複製 |
| ptr | 汎用データへのポインタ 複製 |
| sz | *ptr のサイズ |
Definition at line 89 of file tlist.c.
References make_Buffer_bystr.
Referenced by add_tList_node_bystr(), add_tTree_node_bystr(), and insert_tTree_node_bystr().

| tList make_tList_node | ( | tList_data | ldat | ) |
tList make_tList_node(tList_data ldat)
リスト用ノードを静的に作成する.
ldat はそのまま新しい変数内で使用される.(単純に代入される)
この関数で生成したノードを del_*_tList()関数で削除してはいけない.
| ldat | ノードデータ |
Definition at line 223 of file tlist.c.
References JBXL_NORMAL.
tList* move_tList_node(tList* pp, tList* node)
nodeを現在のリストから切り離し,ppへ移動する.
nodeを削除しないで del_tList_node(), add_tList_node() を実行するようなもの.
| pp | 移動先で親となるノードへのポインタ. |
| node | 移動するノードへのポインタ. |
Definition at line 321 of file tlist.c.
| tList * new_tList_anchor_node | ( | void | ) |
Definition at line 371 of file tlist.c.
References init_tList_data(), JBXL_STATE_ANCHOR, and TLIST_ANCHOR_NODE.
Referenced by add_resource_list().


| tList * new_tList_node | ( | void | ) |
tList* new_tList_node(void)
リスト用の空ノードを動的に生成する.
Definition at line 198 of file tlist.c.
References init_tList_data(), and JBXL_NORMAL.
Referenced by _find_match_tTree_endlist_rcsv(), _find_match_xml_endlist_rcsv(), _search_all_node_strval_json(), and add_tList_node_bydata().


| void print_tList | ( | FILE * | fp, |
| tList * | pp ) |
void print_tList(File* fp, tList* pp)
リストの表示.ポインタ pp以降の全てのノードを fpに表示する.
| fp | 出力するファイルへのポインタ.NULLの場合は stderr |
| pp | 表示を開始するノードへのポインタ. |
Definition at line 928 of file tlist.c.
| tList * read_Buffer_tList_file | ( | const char * | fname | ) |
tList* read_Buffer_tList_file(const char* fname)
ファイルから Buffer型変数を 2つずつ読み込んで,リストのキー部とバッファ部に格納し返す.
| fname | ファイル名. |
Definition at line 2286 of file tlist.c.
References read_Buffer_tList_fp().

| tList * read_Buffer_tList_fp | ( | FILE * | fp | ) |
tList* read_Buffer_tList_fp(FILE* fp)
ファイルポインタから Buffer型変数を 2つずつ読み込んで,リストのキー部とバッファ部に格納し返す.
| fp | ファイルポインタ. |
Definition at line 2308 of file tlist.c.
References add_tList_node_Buffer, free_Buffer(), and read_Buffer2_format_fp().
Referenced by read_Buffer_tList_file().


| tList * read_index_tList_file | ( | const char * | fname, |
| char | deli ) |
tList* read_index_tList_file(const char* fname, char deli)
ファイルから一行ずつ読み込んで,deliを区切り文字にしてリストのキー部とデータ部に格納.
データ部に区切り記号が存在しても良い
キー部とデータ部の前後の空白,TAB, CR, LF は削除する.
空行はリストに加えない.::で始まる行はリストに加えない
| fname | ファイル名. |
| deli | 区切り文字 |
Definition at line 2219 of file tlist.c.
References read_index_tList_fp().
Referenced by read_ldap_config().


| tList * read_index_tList_fp | ( | FILE * | fp, |
| char | deli ) |
tList* read_index_tList_fp(FILE* fp, char deli)
ファイルポインタが示すファイルから一行ずつ読み込んで,最初の deliを区切り文字にしてリストのキー部とデータ部に格納.
データ部に区切り記号が存在しても良い
キー部とデータ部の前後の空白,TAB, CR, LF は削除する.
空行はリストに加えない.::で始まる行はリストに加えない
| fp | ファイルポインタ. |
| deli | 区切り文字 |
Definition at line 2246 of file tlist.c.
References add_tList_node_byBuffer(), awk_Buffer(), del_all_tList(), free_Buffer(), make_Buffer_bystr, pack_Buffer(), read_tList_fp(), and Buffer::vldsz.
Referenced by read_index_tList_file().


| tList * read_tList_file | ( | const char * | fname, |
| int | mode ) |
tList* read_tList_file(const char* fname, int mode)
ファイルから一行ずつ読み込んでリストのキー部に格納.空行はリストに加えない.
| fname | ファイル名. |
| mode | 0: ファイルをそのまま読み込む. |
| mode | 1: 先頭が # の行はリストに加えない.また前後の空白を削除し,その他の連続する空白も1つの空白に変換する. さらにタブは一個の空白として処理される. |
| mode | 2: 1の場合に加えて,途中の # 以降も無視する |
Definition at line 2127 of file tlist.c.
References read_tList_fp().
Referenced by read_ipaddr_file().


| tList * read_tList_fp | ( | FILE * | fp, |
| int | mode ) |
tList* read_tList_fp(FILE* fp, int mode)
ファイルポインタが示すファイルから一行ずつ読み込んでリストのキー部に格納.
空行はリストに加えない.
| fp | ファイルポインタ. |
| mode | 0: ファイルをそのまま読み込む. |
| mode | 1: 先頭が # の行はリストに加えない.また前後の空白を削除し,その他の連続する空白も1つの空白に変換する. また,タブは一個の空白として処理される. |
| mode | 2: 1の場合に加えて,途中の # 以降も無視する |
Definition at line 2158 of file tlist.c.
References add_tList_node_str, LBUF, and pack_char.
Referenced by read_index_tList_fp(), read_ipaddr_fp(), and read_tList_file().

| int replace_value_tList | ( | tList * | list, |
| const char * | key, | ||
| int | no, | ||
| const char * | srcval, | ||
| char * | value ) |
int replace_value_tList(tList* list, const char* key, int no, const char* srcval, char* value)
リスト(lt)中の no番目の keyノードの値の srcvalの部分を value に置き換える.
no が 0以下の場合は,全ての keyノードの値に対して置き換えが行われる.
| list | 処理対象のリスト |
| key | 置き換えを行うノードのキー部.大文字,小文字を区別しない. |
| srcval | 置き換え対象の文字列.NULLなら指定した項目の文字列全体. |
| value | 置き換えを行う文字列. |
| no | 何個目のノードを置き換えるか.1から数える.0以下の場合はkeyが一致する全てのノードを置き換える |
| 設定されたノードの数 | 指定されたノードが存在しない場合は(追加された場合も)0 |
| 負数 | エラー |
Definition at line 1742 of file tlist.c.
References JBXL_ARGS_ERROR, OFF, replace_value_tList_node(), set_value_tList(), and strncasecmp_tList().

| int replace_value_tList_node | ( | tList * | lp, |
| const char * | srcval, | ||
| const char * | value ) |
int replace_value_tList_node(tList* lp, const char* srcval, const char* value)
lt->ldat.val のsrcval部分を value に置き換える.
Definition at line 1779 of file tlist.c.
References buf, FALSE, free_Buffer(), replace_sBuffer, set_value_tList_node(), and TRUE.
Referenced by replace_value_tList().


| int save_Buffer_tList_file | ( | const char * | fname, |
| tList * | lp ) |
int save_Buffer_tList_file(const char* fname, tList* lp)
リストのキー部とバッファ部の Buffer型変数をファイルへ書き込む.
ファイルが既にある場合は,追加書き込みされる.
| fname | ファイル名. |
| lp | 書き込みを行うリストデータへのポインタ. |
| TRUE | 書き込み成功. |
| FALSE | 書き込み失敗 |
Definition at line 2344 of file tlist.c.
References FALSE, and save_Buffer_tList_fp().

| int save_Buffer_tList_fp | ( | FILE * | fp, |
| tList * | lp ) |
int save_Buffer_tList_fp(FILE* fp, tList* lp)
リストのキー部とバッファ部の Buffer型変数をファイルポンタが指すファイルへ書き込む.
ファイルが既にある場合は,追加書き込みされる.
| fp | ファイルポインタ. |
| lp | 書き込みを行うリストデータへのポインタ. |
| TRUE | 書き込み成功. |
| FALSE | 書き込み失敗 |
Definition at line 2370 of file tlist.c.
References FALSE, save_Buffer2_format_fp(), and TRUE.
Referenced by save_Buffer_tList_file().


tList* search_id_tList(tList* pl, int id, int no)
リストの中から no番目の idノード(ldat.id)を探し出し,tListのポインタを返す.
key はケースインセンシティブ.
| pl | 検索を行うリストへのポインタ. |
| id | ノードのid値. |
| no | 何番目のノードを取り出すか指定する.1から数える. |
Definition at line 1541 of file tlist.c.
Referenced by jbxl_fprint_state(), and jbxl_fprint_state_jp().

tList* search_key_tList(tList* pl, const char* key, int no)
リストの中から no番目の keyノード(ldat.key)を探し出し,tListへのポインタを返す.
key はケースインセンシティブ.
| pl | 検索を行うリストへのポインタ. |
| key | ノードキー.大文字,小文字を区別しない. |
| no | 何番目のノードを取り出すか指定する.1から数える. |
Definition at line 1571 of file tlist.c.
References strncasecmp_tList().
Referenced by find_protocol_end().


| void set_tList_node_byBuffer | ( | tList * | pp, |
| int | id, | ||
| int | lv, | ||
| Buffer | key, | ||
| Buffer | val, | ||
| void * | ptr, | ||
| int | sz ) |
void set_tList_node_byBuffer(tList* pp, int id, int lv, Buffer key, Buffer val, void* ptr, int sz)
リストのノードに値を設定する.それぞれのデータは複製されて設定される.
key.buf, val.bufが NULLの場合は,その値はノードには設定されない.
| pp | ノード値を設定するノードへのポインタ |
| id | ノードのID |
| lv | ノードのデータ |
| key | ノードのキー (Buffer) 複製 |
| val | ノードのデータ (Buffer) 複製 |
| ptr | 汎用データへのポインタ 複製 |
| sz | *ptr のサイズ |
Definition at line 575 of file tlist.c.
References dup_Buffer(), and free_Buffer().
Referenced by update_tList_node_byBuffer().


| void set_tList_node_bydata | ( | tList * | node, |
| tList_data | dat ) |
void set_tList_node_bydata(tList* node, tList_data dat)
リストのノードに値を設定する.
ldat は指定されたものがそのまま使用される.
| node | 設定するノードへのポインタ. |
| dat | 設定するノードデータ.このデータがそのまま使用される. |
Definition at line 513 of file tlist.c.
References clear_tList_data().
Referenced by update_tList_node_bydata().


| void set_tList_node_bystr | ( | tList * | pp, |
| int | id, | ||
| int | lv, | ||
| const char * | key, | ||
| const char * | val, | ||
| void * | ptr, | ||
| int | sz ) |
void set_tList_node_bystr(tList* pp, int id, int lv, const char* key, const char* val, void* ptr, int sz)
文字列データから リストのノードに値を設定する.それぞれのデータは複製されて設定される.
key, valが NULLの場合は,その値はノードは設定されない.
| pp | ノード値を設定するノードへのポインタ |
| id | ノードのID |
| lv | ノードのデータ |
| key | ノードのキー 複製 |
| val | ノードのデータ 複製 |
| ptr | 汎用データへのポインタ 複製 |
| sz | *ptr のサイズ |
Definition at line 536 of file tlist.c.
References free_Buffer(), and make_Buffer_bystr.
Referenced by update_tList_node_bystr().


| int set_value_tList | ( | tList * | list, |
| const char * | key, | ||
| int | no, | ||
| const char * | value, | ||
| int | add_mode ) |
Definition at line 1675 of file tlist.c.
References add_tList_node_str, JBXL_ARGS_ERROR, ON, set_value_tList_node(), and strncasecmp_tList().
Referenced by replace_value_tList(), and set_protocol_header().


| int set_value_tList_node | ( | tList * | lp, |
| const char * | value ) |
int set_value_tList_node(tList* lp, const char* value)
lp->ldat.val に文字列を設定する(置き換える).
Definition at line 1714 of file tlist.c.
References buf, FALSE, free_Buffer(), make_Buffer_bystr, and TRUE.
Referenced by replace_value_tList_node(), and set_value_tList().


tList* strncasecmp_back_tList(tList* pl, const char* key, int len, int no)
char* 型変数によるリストの後方からのノードのサーチ.大文字小文字を無視する.
ポインタ pl以降のノードで,キー部の文字列が keyと前方一致(部分的も可)するノードの内,後ろから数えて no番目にあるのを捜し出す.
| pl | サーチを開始するノードへのポインタ. |
| key | サーチキー(文字列) |
| len | 1以上: 一致させる長さ. |
| len | TLIST_MATCH_COMPLETE (0): 完全一致. |
| len | TLIST_MATCH_TLISTKEY (-1): pl->key.buf の長さに合わせる. |
| len | TLIST_MATCH_STRINGKEY (-2): key の長さに合わせる. |
| no | 一致した物の中で後ろから数えて何番目の物を返すか指定する.1から数える. |
| NULL | 一致したものが無い |
Definition at line 1337 of file tlist.c.
References ex_strncasecmp(), find_tList_end(), and len.

tList* strncasecmp_tList(tList* pl, const char* key, int len, int no)
char* 型変数によるノードのサーチ.大文字小文字を無視する.
ポインタ pl以降のノードで,キー部の文字列が keyと前方一致(部分的も可)するノードの内, no番目にあるのを捜し出す.
| pl | サーチを開始するノードへのポインタ. |
| key | サーチキー(文字列) |
| len | 1以上: 一致させる長さ. |
| len | TLIST_MATCH_COMPLETE (0): 完全一致. |
| len | TLIST_MATCH_TLISTKEY (-1): pl->key.buf の長さに合わせる. |
| len | TLIST_MATCH_STRINGKEY (-2): key の長さに合わせる. |
| no | 一致した物の中で何番目の物を返すか指定する.1から数える. |
| NULL | 一致したものが無い |
Definition at line 1094 of file tlist.c.
References ex_strncasecmp(), and len.
Referenced by _add_key_val_list(), add_resource_list(), buffer_key_tList(), buffer_key_value_tList(), get_max_forwards(), http_proxy_header_analyze(), insert_sip_record_route(), insert_sip_via(), recv_http_header(), replace_item_tList(), replace_sip_contact(), replace_sip_contact_dstipport(), replace_value_tList(), search_key_tList(), search_protocol_header(), set_item_tList(), set_max_forwards(), set_value_tList(), and www2browser_relay().


tList* strncaservscmp_back_tList(tList* pl, const char* key, int len, int no)
char* 型変数によるリストの後方からのノードのサーチ.文字も後方から比べる.大文字小文字を無視.
ポインタ pl以降のノードで,キー部の文字列が keyと後方一致(部分的も可)するノードの内,後ろから数えて no番目にあるのを捜し出す.
| pl | サーチを開始するノードへのポインタ. |
| key | サーチキー(文字列) |
| len | 1以上: 一致させる長さ. |
| len | TLIST_MATCH_COMPLETE (0): 完全一致. |
| len | TLIST_MATCH_TLISTKEY (-1): pl->key.buf の長さに合わせる. |
| len | TLIST_MATCH_STRINGKEY (-2): key の長さに合わせる. |
| no | 一致した物の中で後ろから数えて何番目の物を返すか指定する.1から数える. |
| NULL | 一致したものが無い |
Definition at line 1413 of file tlist.c.
References ex_strncaservscmp(), find_tList_end(), and len.

tList* strncaservscmp_tList(tList* pl, const char* key, int len, int no)
char* 型変数によるノードのサーチ.文字の後方から比べる.大文字小文字を無視.
ポインタ pl以降のノードで,キー部の文字列が keyと後方一致(部分的も可)するノードの内, no番目にあるのを捜し出す.
| pl | サーチを開始するノードへのポインタ. |
| key | サーチキー(文字列) |
| len | 1以上: 一致させる長さ. |
| len | TLIST_MATCH_COMPLETE (0): 完全一致. |
| len | TLIST_MATCH_TLISTKEY (-1): pl->key.buf の長さに合わせる. |
| len | TLIST_MATCH_STRINGKEY (-2): key の長さに合わせる. |
| no | 一致した物の中で何番目の物を返すか指定する.1から数える. |
| NULL | 一致したものが無い |
Definition at line 1170 of file tlist.c.
References ex_strncaservscmp(), and len.

tList* strncmp_back_tList(tList* pl, const char* key, int len, int no)
char* 型変数によるリストの後方からのノードのサーチ.
ポインタ pl以降のノードで,キー部の文字列が keyと前方一致(部分的も可)するノードの内,後ろから数えて no番目にあるのを捜し出す.
| pl | サーチを開始するノードへのポインタ. |
| key | サーチキー(文字列) |
| len | 1以上: 一致させる長さ. |
| len | TLIST_MATCH_COMPLETE (0): 完全一致. |
| len | TLIST_MATCH_TLISTKEY (-1): pl->key.buf の長さに合わせる. |
| len | TLIST_MATCH_STRINGKEY (-2): key の長さに合わせる. |
| no | 一致した物の中で後ろから数えて何番目の物を返すか指定する.1から数える. |
| NULL | 一致したものが無い |
Definition at line 1299 of file tlist.c.
References ex_strncmp(), find_tList_end(), and len.

tList* strncmp_tList(tList* pl, const char* key, int len, int no)
char* 型変数によるノードのサーチ.
ポインタ pl以降のノードで,キー部の文字列が keyと前方一致(部分的も可)するノードの内, no番目にあるのを捜し出す.
| pl | サーチを開始するノードへのポインタ. |
| key | サーチキー(文字列) |
| len | 1以上: 一致させる長さ. |
| len | TLIST_MATCH_COMPLETE (0): 完全一致. |
| len | TLIST_MATCH_TLISTKEY (-1): pl->key.buf の長さに合わせる. |
| len | TLIST_MATCH_STRINGKEY (-2): key の長さに合わせる. |
| no | 一致した物の中で何番目の物を返すか指定する.1から数える. |
| NULL | 一致したものが無い |
Definition at line 1056 of file tlist.c.
References ex_strncmp(), and len.
Referenced by insert_sip_record_route(), insert_sip_via(), restore_protocol_contents(), restore_protocol_header(), set_protocol_header(), update_tList_node_byBuffer(), update_tList_node_bydata(), and update_tList_node_bystr().


tList* strnrvscmp_back_tList(tList* pl, const char* key, int len, int no)
char* 型変数によるリストの後方からのノードのサーチ.文字も後方から比べる.
ポインタ pl以降のノードで,キー部の文字列が keyと後方一致(部分的も可)するノードの内,後ろから数えて no番目にあるのを捜し出す.
| pl | サーチを開始するノードへのポインタ. |
| key | サーチキー(文字列) |
| len | 1以上: 一致させる長さ. |
| len | TLIST_MATCH_COMPLETE (0): 完全一致. |
| len | TLIST_MATCH_TLISTKEY (-1): pl->key.buf の長さに合わせる. |
| len | TLIST_MATCH_STRINGKEY (-2): key の長さに合わせる. |
| no | 一致した物の中で後ろから数えて何番目の物を返すか指定する.1から数える. |
| NULL | 一致したものが無い |
Definition at line 1375 of file tlist.c.
References ex_strnrvscmp(), find_tList_end(), and len.

tList* strnrvscmp_tList(tList* pl, const char* key, int len, int no)
char* 型変数によるノードのサーチ.文字の後方から比べる.
ポインタ pl以降のノードで,キー部の文字列が keyと後方一致(部分的も可)するノードの内, no番目にあるのを捜し出す.
| pl | サーチを開始するノードへのポインタ. |
| key | サーチキー(文字列) |
| len | 1以上: 一致させる長さ. |
| len | TLIST_MATCH_COMPLETE (0): 完全一致. |
| len | TLIST_MATCH_TLISTKEY (-1): pl->key.buf の長さに合わせる. |
| len | TLIST_MATCH_STRINGKEY (-2): key の長さに合わせる. |
| no | 一致した物の中で何番目の物を返すか指定する.1から数える. |
| NULL | 一致したものが無い |
Definition at line 1132 of file tlist.c.
References ex_strnrvscmp(), and len.

tList* strstr_back_tList(tList* pl, const char* key, int len, int no)
char* 型変数によるリストの後方からのノードの部分文字列サーチ.
ポインタ pl以降のノードで,キー部の文字列または keyの文字列が相手の文字列に含まれる.
ノードの内,後ろから数えて no番目にあるのを捜し出す.
| pl | サーチを開始するノードへのポインタ. |
| key | サーチキー. |
| len | 0以上: key が plのキーに含まれるかどうか検査する. |
| len | 負数: plのキーが Keyに含まれるかどうか検査する. |
| no | 一致した物の中で後ろから数えて何番目の物を返すか指定する.1から数える. |
| NULL | 一致したものが無い |
Definition at line 1451 of file tlist.c.
References find_tList_end(), and len.

tList* strstr_tList(tList* pl, const char* key, int len, int no)
char* 型変数によるノードの部分文字列サーチ.
ポインタ pl以降のノードで,キー部の文字列または keyの文字列が相手の文字列に含まれるノードの内, no番目にあるのを捜し出す.
| pl | サーチを開始するノードへのポインタ. |
| key | サーチキー. |
| len | 0以上: key が plのキーに含まれるかどうか検査する. |
| len | 負数: plのキーが Keyに含まれるかどうか検査する. |
| no | 一致した物の中で何番目の物を返すか指定する.1から数える. |
| NULL | 一致したものが無い |
Definition at line 1206 of file tlist.c.
References len.
tList* strstrcase_back_tList(tList* pl, const char* key, int len, int no)
char* 型変数による後方からのノードの部分文字列サーチ.大文字小文字を無視.
ポインタ pl以降のノードで,キー部の文字列または keyの文字列が相手の文字列に含まれる.
ノードの内,後ろから数えて no番目にあるのを捜し出す.
| pl | サーチを開始するノードへのポインタ. |
| key | サーチキー. |
| len | 0以上: key が plのキーに含まれるかどうか検査する. |
| len | 負数: plのキーが Keyに含まれるかどうか検査する. |
| no | 一致した物の中で後ろから数えて何番目の物を返すか指定する.1から数える. |
| NULL | 一致したものが無い |
Definition at line 1497 of file tlist.c.
References find_tList_end(), len, and strstrcase().

tList* strstrcase_tList(tList* pl, const char* key, int len, int no)
char* 型変数によるノードの部分文字列サーチ.大文字小文字を無視.
ポインタ pl以降のノードで,キー部の文字列または keyの文字列が相手の文字列に含まれるノードの内, no番目にあるのを捜し出す.
| pl | サーチを開始するノードへのポインタ. |
| key | サーチキー. |
| len | 0以上: key が plのキーに含まれるかどうか検査する. |
| len | 負数: plのキーが Keyに含まれるかどうか検査する. |
| no | 一致した物の中で何番目の物を返すか指定する.1から数える. |
| NULL | 一致したものが無い |
Definition at line 1250 of file tlist.c.
References len, and strstrcase().

tList* swap_tList_node(tList* pp1, tList* pp2)
pp1ノード と pp2ノード のノードデータを入れ替える.
Definition at line 342 of file tlist.c.
Referenced by get_dir_files().

tList* update_tList_node(tList* pp, tList* pt)
ppを pt->keyで検索し,該当ノードがあればノードをコピーする.無ければ最後にノードを追加する(new).
| pp | 検索を開始するノードへのポインタ. |
| pt | 設定するノードへのポインタ.検索キーは pt->key |
Definition at line 609 of file tlist.c.
References update_tList_node_byBuffer().

| tList * update_tList_node_byBuffer | ( | tList * | pp, |
| int | id, | ||
| int | lv, | ||
| Buffer | key, | ||
| Buffer | val, | ||
| void * | ptr, | ||
| int | sz ) |
tList* update_tList_node_byBuffer(tList* pp, int id, int lv, Buffer key, Buffer val, void* ptr, int sz)
ppを key.bufで検索し,該当ノードがあればノードを設定する.無ければ最後にノードを追加する(new).
それぞれのデータは複製される.
| pp | 検索を開始するノードへのポインタ. |
| id | ノードのID |
| lv | ノードのデータ |
| key | ノードのキー (Buffer) 複製 |
| val | ノードのデータ (Buffer) 複製 |
| ptr | 汎用データへのポインタ 複製 |
| sz | *ptr のサイズ |
Definition at line 703 of file tlist.c.
References add_tList_node_byBuffer(), Buffer::buf, find_tList_end(), set_tList_node_byBuffer(), and strncmp_tList().
Referenced by update_tList_node().


| tList * update_tList_node_bydata | ( | tList * | pp, |
| char * | srch, | ||
| tList_data | ldat ) |
tList* update_tList_node_bydata(tList* pp, char* srch, tList_data ldat)
ppを srchで検索し,該当ノードがあればノードを設定する.無ければ最後にノードを追加する(new).
ldat は指定されたものがそのまま使用される.
| pp | 検索を開始するノードへのポインタ. |
| srch | 検索キー |
| ldat | 追加するノードデータ.このデータがそのまま使用される. |
Definition at line 635 of file tlist.c.
References add_tList_node_bydata(), find_tList_end(), set_tList_node_bydata(), and strncmp_tList().

| tList * update_tList_node_bystr | ( | tList * | pp, |
| int | id, | ||
| int | lv, | ||
| const char * | key, | ||
| const char * | val, | ||
| void * | ptr, | ||
| int | sz ) |
ppを keyで検索し,該当ノードがあればノードを設定する.無ければ最後にノードを追加する(new).
それぞれのデータは複製される.
| pp | 検索を開始するノードへのポインタ. |
| id | ノードのID |
| lv | ノードのデータ |
| key | ノードのキー.検索キー 複製 |
| val | ノードのデータ (Buffer) 複製 |
| ptr | 汎用データへのポインタ 複製 |
| sz | *ptr のサイズ |
Definition at line 668 of file tlist.c.
References add_tList_node_bystr(), find_tList_end(), set_tList_node_bystr(), and strncmp_tList().
