JunkBox_Lib++ (for Windows) 1.10.1
|
Buffer型サポートヘッダ More...
#include "tools.h"
Go to the source code of this file.
Classes | |
struct | Buffer |
Functions | |
Buffer * | new_Buffer (int sz) |
空のBuffer型変数を生成する. | |
Buffer | init_Buffer (void) |
初期化したBuffer型変数を返す. | |
Buffer | make_Buffer (int sz) |
Buffer型変数のバッファ部をつくり出す. | |
Buffer | make_Buffer_bychar (unsigned char cc) |
文字から,Buffer型変数のバッファ部をつくり出す. | |
Buffer | make_Buffer_randomstr (int sz) |
ランダムな n文字から,Buffer型変数のバッファ部をつくり出す. | |
Buffer | set_Buffer (void *buf, int sz) |
Buffer型変数のバッファ部を新しく作り, そのバッファに bufをコピーする. | |
Buffer | dup_Buffer (Buffer buf) |
Buffer型変数のコピーをつくる. | |
Buffer | rept_Buffer (unsigned char cc, int n) |
文字 ccを n回繰り返したBuffer型データを返す. | |
void | expand_Buffer (Buffer *buf, int len) |
buf のデータ部を lenに拡張した新しい Buffer を返す. | |
void | del_Buffer (Buffer **buf) |
new_Buffer()で作り出した Buffer型変数を削除する. | |
void | free_Buffer (Buffer *buf) |
Buffer型変数のバッファ部を解放する | |
void | clear_Buffer (Buffer *buf) |
Buffer型変数 のバッファ部を 0クリアする. | |
int | copy_Buffer (Buffer *src, Buffer *dst) |
Buffer型変数 srcから dstへバッファをコピーする. | |
int | cat_Buffer (Buffer *src, Buffer *dst) |
Buffer変数 srcから dstへバッファを catする. | |
int | ins_Buffer (Buffer *src, Buffer *dst) |
Buffer変数 dst の前に srcを挿入する. | |
int | copy_b2Buffer (void *src, Buffer *dst, int sz) |
任意のバイナリデータsrcを Buffer型変数dstへ lenバイト copyする | |
int | cat_b2Buffer (void *src, Buffer *dst, int sz) |
任意のバイナリデータsrcを Buffer型変数dstへ lenバイト catする. | |
int | ins_b2Buffer (void *src, Buffer *dst, int sz) |
任意のバイナリデータsrcを Buffer型変数dstの前に lenバイト挿入する | |
int | copy_i2Buffer (int src, Buffer *dst) |
整数 srcを文字列に変換して,dstへ copyする. | |
int | cat_i2Buffer (int src, Buffer *dst) |
整数 srcを文字列に変換して,dstへ catする. | |
int | ins_i2Buffer (int src, Buffer *dst) |
整数 srcを文字列に変換して,dstの前に 挿入する. | |
int | copy_r2Buffer (float src, Buffer *dst) |
実数 srcを文字列に変換して,dstへ copyする. | |
int | cat_r2Buffer (float src, Buffer *dst) |
実数 srcを文字列に変換して,dstへ catする. | |
int | ins_r2Buffer (float src, Buffer *dst) |
実数 srcを文字列に変換して,dstの前に 挿入する. | |
void | kanji_convert_Buffer (Buffer *mesg) |
大域変数 KanjiCode (tools.h) に従って漢字コードを変換する. | |
Buffer | encode_base64_Buffer (Buffer buf) |
バイナリデータ buf.bufの buf.vldszバイトを Base64にエンコード する | |
Buffer | decode_base64_Buffer (Buffer buf) |
strのバッファを Base64からデコードする | |
Buffer | encode_base64_Buffer_bin (unsigned char *bin, unsigned int sz, int nopad) |
sz バイトの バイナリデータ binを Base64にエンコード する. | |
Buffer | encode_base64_filename_Buffer (Buffer buf, unsigned char cc) |
バイナリデータ bufを Base64で encodeしてファイル名を作る.ただし '/' は cc として扱う. | |
Buffer | decode_base64_filename_Buffer (Buffer buf, unsigned char cc) |
bufを Base64で decodeしてバイナリデータを取り出す.ただし cc は '/' として扱う. | |
Buffer | get_line_Buffer (Buffer buf, int n) |
複数行の文字列バッファから任意の行を取り出す. | |
Buffer | get_seq_data_Buffer (Buffer str, int *ptr) |
複数行の文字列バッファ内の行データをシーケンシャルに取り出す. | |
Buffer | awk_Buffer (Buffer buf, char cc, int n) |
Buffer文字列に対する awk. | |
Buffer | cawk_Buffer (Buffer buf, char cc, int n) |
Buffer文字列に対する(変形の)awk. | |
Buffer | pack_Buffer (Buffer buf, char cc) |
文字列の先頭のcc(複数),終わりのcc(複数),TAB, CR, LF を削除 | |
int | cmp_Buffer (Buffer src, Buffer dst, int n) |
バッファ部の比較. | |
void | chomp_Buffer (Buffer *buf) |
最初の改行コード以降を無視する. | |
int | isText_Buffer (Buffer buf) |
Buffer型変数 bufのバッファ部がテキストかどうか検査する. | |
Buffer | dump_Buffer (Buffer buf) |
Buffer型変数のデバッグ用 16進を Buffer型変数に出力する. | |
int | recalc_strlen_Buffer (Buffer *buf) |
Buffer型変数のデータ部を文字列と見なして,その長さを返す. | |
void | add_indent_Buffer (Buffer *buf, char cc, int num) |
インデント(cc x num) を付加する. | |
Buffer | randstr_Buffer (int n) |
英数字を n個生成 | |
Buffer | randbit_Buffer (int n) |
ビットを n個生成 | |
int | fgets_Buffer (Buffer *str, FILE *fp) |
拡張fgets.文字列の読み込みに使用する.改行コードは削除する | |
int | read_lines_Buffer (Buffer *str, FILE *fp) |
複数文字列行の読み込み.文字列の読み込みに使用する | |
Buffer | read_Buffer_file (const char *fn) |
ファイル fn の内容を Buffer型変数に読み込む. | |
Buffer | read_Buffer_data (FILE *fp, int sz) |
ファイルポインタ fp から szバイトをBuffer型変数に読み込む. | |
int | save_Buffer_file (Buffer buf, char *fn) |
ファイル fn へ Buffer型変数の buf部を書き込む | |
Buffer | erase_bBuffer (Buffer buf, char *bin, int len) |
buf.buf 中にある bin のデータ(各1Byte,順不同)を削除する. | |
Buffer | replace_sBuffer_bystr (Buffer buf, const char *frm, const char *tos) |
buf.buf中の文字列 frmを tosで置き換えた 新しい Bufferを返す | |
int | replace_sBuffer_file (char *fn, Buffer frm, Buffer tos) |
テキストファイル中の frm の文字列を tos に書き換える | |
void | rewrite_sBuffer_bystr (Buffer *buf, const char *frm, const char *tos) |
buf.buf自体を書き換えること以外は replace_sBuffer_bystr() と同じ | |
void | rewrite_Buffer_bychar (Buffer *buf, const char frm, const char toc) |
buf.buf中の文字 frmを tocで置き換える | |
int | save_Buffer_format_fp (Buffer, FILE *) |
ファイル fp へ Buffer型変数の buf部を書き込む | |
Buffer | read_Buffer_format_fp (FILE *) |
ファイル fp から Buffer型変数の buf部を読み込む | |
int | save_Buffer2_format_fp (Buffer key, Buffer buf, FILE *fp) |
ファイル fp へ 2つのBuffer型変数 keyと bufを書き込む | |
int | read_Buffer2_format_fp (Buffer *key, Buffer *buf, FILE *fp) |
ファイル fp から 2つのBuffer型変数の keyと bufを読み込む. | |
char | pop_char_ringStack (Buffer *buf) |
簡易 char型 ringStack POP | |
void | push_char_ringStack (Buffer *buf, char cc) |
簡易 char型 ringStack PUSH | |
#define bincmp_Buffer | ( | a, | |
b ) cmp_Buffer((a), (b), 0) |
#define binncmp_Buffer | ( | a, | |
b, | |||
n ) cmp_Buffer((a), (b), (n)) |
#define BUFFER_FACT (1.3) |
Definition at line 43 of file buffer.h.
Referenced by cat_b2Buffer(), cat_Buffer(), copy_b2Buffer(), copy_Buffer(), and replace_sBuffer_bystr().
#define cat_s2Buffer | ( | src, | |
dst ) cat_b2Buffer( (void*)(src), (dst), -1) |
char*変数 srcから Buffer型変数dstへ文字列を catする.
もし, dstに srcの文字列を catするだけのスペースが無い場合は新たにバッファ領域を確保して catする.
src | cat元へのポインタ. |
dst | cat先へのポインタ. |
0 | srcまたは dstが NULL |
-1 | メモリの確保に失敗した.何も実行されなかった. |
1以上 | dstのバッファにコピーされた文字数. |
Definition at line 122 of file buffer.h.
Referenced by _json_to_Buffer(), add_form_urlenc(), add_indent_Buffer(), ColladaXML::addEffect(), ColladaXML::addExtraBumpmap(), ColladaXML::addGeometry(), ColladaXML::addMaterial(), TextureParam::addName(), MaterialParam::addParamString(), append_xml_content_node(), bvh_parse_hierarchy(), change_file_extension_Buffer(), comp_url(), GLTFData::convertJson_TexturePath(), decomp_url(), ColladaXML::existSameID(), extract_tTar(), get_Buffer_join_tList(), get_dir_files(), GLTFData::getGLBTextureInfo(), http_proxy_header_analyze(), join_Buffer_dim(), json_append_array_key(), json_append_array_str_val(), json_append_obj_key(), json_append_obj_str_val(), json_parse_seq(), json_set_str_val(), llsd_xml_contain_key(), llsd_xml_get_content_bin(), llsd_xml_get_content_int(), llsd_xml_get_content_real(), llsd_xml_get_content_str(), make_form_urlenc(), make_xml_attr_bydouble(), make_xml_attr_byfloat(), make_xml_attr_byint(), make_xml_attr_bystr(), GLTFData::output_glb(), GLTFData::output_gltf(), OBJData::output_mtl(), OBJData::output_obj(), CLogRingBuffer::putRingBuffer(), relative_path_Buffer(), replace_sBuffer_bystr(), restore_protocol_header(), search_protocol_header(), set_http_host_header(), MeshFacetNode::setMaterialID(), tcp_send_sBufferln(), CBVHTool::writeMultiFile(), xml_attr_to_Buffer(), xml_close_node_Buffer(), and xml_open_node_Buffer().
#define copy_s2Buffer | ( | src, | |
dst ) copy_b2Buffer((void*)(src), (dst), -1) |
char*変数 srcから Buffer型変数dstへ文字列を copyする.
もし, dstに srcをコピーするだけのスペースが無い場合は, 新たにバッファ領域を確保してコピーする.
src | コピー元へのポインタ. |
dst | コピー先へのポインタ. |
0 | srcまたは dstが NULL |
-1 | メモリの確保に失敗した.何も実行されなかった. |
1以上 | dstのバッファにコピーされた文字数. |
Definition at line 108 of file buffer.h.
Referenced by _replace_all_node_byid_rcsv(), _replace_all_node_contents_rcsv(), comp_url(), decomp_url(), encode_base64_Buffer(), fgets_mstream_Buffer(), get_protocol_header_list_seq(), json_set_str_val(), CLogRingBuffer::putRingBuffer(), send_http_file(), set_http_host_header(), set_xml_content(), set_xml_content_list(), set_xml_content_node(), set_xml_node(), MaterialParam::setParamString(), and tcp_recv_mstream_Buffer().
#define erase_Buffer | ( | b, | |
f ) erase_bBuffer((b), (char*)((f).buf), (f).vldsz) |
#define erase_sBuffer | ( | b, | |
f ) erase_bBuffer((b), (char*)(f), -1) |
#define ins_s2Buffer | ( | src, | |
dst ) ins_b2Buffer( (void*)(src), (dst), -1) |
#define make_Buffer_bin | ( | str, | |
len ) set_Buffer((void*)(str), (len)) |
#define make_Buffer_bybin | ( | str, | |
len ) set_Buffer((void*)(str), (len)) |
#define make_Buffer_byrandomstr | ( | sz | ) | make_Buffer_randomstr(sz) |
#define make_Buffer_bystr | ( | str | ) | set_Buffer((void*)(str), -1) |
文字列から,Buffer型変数のバッファ部をつくり出す.
make_Buffer_bystr("") は Buffer変数の初期化にも使用される. バイナリデータから Buffer変数を作り出すには,set_Buffer()を用いる.
バッファ部の作成に失敗した場合, バッファのサイズ(bufsz)は 0, バッファへのポインタは NULLとなる.
str | Buffer型変数のバッファに格納する文字列 |
Definition at line 57 of file buffer.h.
Referenced by add_resource_list(), GLTFData::addMaterials(), GLTFData::addNodes(), GLTFData::addShell(), awk_tList(), buffer_key_value_tList(), cawk_tList(), comp_hostport(), decomp_url(), encode_base64_Buffer_bin(), extract_tTar(), get_dir_files(), get_str_param_tList(), get_xml_double_attr(), get_xml_double_attr_bystr(), get_xml_int_attr(), get_xml_int_attr_bystr(), json_array_parse(), json_set_str_val(), llsd_bin_get_str(), llsd_xml_contain_key(), llsd_xml_get_content_bin(), llsd_xml_get_content_int(), llsd_xml_get_content_real(), llsd_xml_get_content_str(), make_tList_data_bystr(), make_xml_attr_bydouble(), make_xml_attr_byfloat(), make_xml_attr_byint(), make_xml_attr_bystr(), GLTFData::output_glb(), GLTFData::output_gltf(), OBJData::output_mtl(), OBJData::output_obj(), FBXData::outputFile(), GLTFData::outputFile(), OBJData::outputFile(), BrepSolidList::outputFile(), ColladaXML::outputFile(), read_index_tList_fp(), replace_all_tTree_node(), search_protocol_header_partvalue(), search_protocol_header_value(), set_item_tList_node(), set_tList_node_bystr(), set_value_tList_node(), ColladaXML::setBlankTexture(), MeshFacetNode::setMaterialID(), TextureParam::setName(), simple_web_proxy(), and CBVHTool::writeMultiFile().
#define make_Buffer_randomstr | ( | sz | ) | make_Buffer_randomstr(sz) |
Definition at line 63 of file buffer.h.
Referenced by ColladaXML::addController(), ColladaXML::addEffect(), ColladaXML::addExtraBumpmap(), ColladaXML::addGeometry(), ColladaXML::addNormalSource(), ColladaXML::addScene(), ColladaXML::addTexcrdSource(), ColladaXML::addVertexSource(), ColladaXML::addVerticesPos(), and ColladaXML::addWeightSource().
#define make_Buffer_str | ( | str | ) | set_Buffer((void*)(str), -1) |
Definition at line 61 of file buffer.h.
Referenced by ColladaXML::addController(), ColladaXML::addEffect(), ColladaXML::addExtraBumpmap(), ColladaXML::addGeometry(), ColladaXML::addImage(), ColladaXML::addMaterial(), ColladaXML::addNormalSource(), ColladaXML::addScene(), ColladaXML::addTexcrdSource(), GLTFData::addTextures(), ColladaXML::addVertexSource(), ColladaXML::addVerticesPos(), ColladaXML::addWeightSource(), MaterialParam::dup(), ColladaXML::existSameID(), get_Buffer_from_json(), MeshObjectData::init(), ColladaXML::initCollada(), json_append_array_key(), json_append_obj_key(), make_form_urlenc(), recv_http_header(), relative_path_Buffer(), MeshObjectData::setAltName(), MeshFacetNode::setMaterialID(), MeshObjectData::setName(), and OBJFacetMtlNode::setup_params().
#define replace_sBuffer | ( | buf, | |
f, | |||
t ) replace_sBuffer_bystr((buf), (f), (t)) |
Definition at line 175 of file buffer.h.
Referenced by replace_item_tList_node(), replace_sBuffer_file(), and replace_value_tList_node().
#define replace_sBuffer_str | ( | buf, | |
f, | |||
t ) replace_sBuffer_bystr((buf), (f), (t)) |
Definition at line 174 of file buffer.h.
Referenced by ColladaXML::addImage().
#define rewrite_sBuffer | ( | b, | |
f, | |||
t ) rewrite_sBuffer_bystr((b), (f), (t)) |
#define rewrite_sBuffer_file | ( | f, | |
fr, | |||
to ) replace_sBuffer_file((f), (fr), (to)) |
#define rewrite_sBuffer_str | ( | b, | |
f, | |||
t ) rewrite_sBuffer_bystr((b), (f), (t)) |
#define strcmp_Buffer | ( | a, | |
b ) cmp_Buffer((a), (b), 0) |
#define strncmp_Buffer | ( | a, | |
b, | |||
n ) cmp_Buffer((a), (b), (n)) |
void add_indent_Buffer | ( | Buffer * | buf, |
char | cc, | ||
int | len ) |
void add_indent_Buffer(Buffer* buf, char* cc, int num);
buf にインデント(cc x num個) を付加する.
buf | インデントを付加するバッファ. |
cc | インデントの文字.' ' や '\t' param len インデントの文字数. |
Definition at line 1327 of file buffer.cpp.
References cat_s2Buffer.
Referenced by xml_close_node_Buffer(), and xml_open_node_Buffer().
Buffer awk_Buffer(Buffer str, char cc, int n)
Buffer文字列に対する awk.
ccを区切り記号として, strのバッファ内の n番目の項目を返す.
str | 操作対象文字列. |
cc | 区切り文字. |
n | 項目の指定.1から数える. |
Definition at line 1050 of file buffer.cpp.
References Buffer::buf, init_Buffer(), make_Buffer(), and Buffer::vldsz.
Referenced by awk_Buffer_tList(), decomp_url(), and read_index_tList_fp().
int cat_b2Buffer | ( | void * | src, |
Buffer * | dst, | ||
int | len ) |
int cat_b2Buffer(void* src, Buffer* dst, int len)
任意のバイナリデータsrcを Buffer型変数dstへ lenバイト catする.
もし, dstに srcのバッファを catするだけのスペースが無い場合は新たにバッファ領域を確保して catする.
lenが 0未満の場合は, srcは文字列として扱われる.
src | cat元の任意データへのポインタ. |
dst | cat先のBuffer型変数へのポインタ. |
len | catするバイト数. |
0以上 | dstのバッファにコピーされた文字数. |
JBXL_NULL_EEROR | srcまたは dstが NULL |
JBXL_MALLOC_ERROR | メモリの確保に失敗した.何も実行されなかった. |
Definition at line 585 of file buffer.cpp.
References Buffer::buf, BUFFER_FACT, Buffer::bufsz, free_Buffer(), JBXL_MALLOC_ERROR, JBXL_NULL_ERROR, Buffer::state, and Buffer::vldsz.
Referenced by _json_parse_term(), cat_i2Buffer(), cat_r2Buffer(), GLTFData::createBinDataAoS(), GLTFData::createBinDataIBM(), GLTFData::createBinDataSeqAoS(), GLTFData::createBinDataSeqSoA(), GLTFData::createBinDataSoA(), deflate2gzip(), get_Buffer_ringBuffer(), and send_http_file().
int cat_Buffer(Buffer* src, Buffer* dst)
Buffer変数 srcから dstへバッファを catする.
もし, dstに srcの バッファを catするだけのスペースが無い場合は 新たにバッファ領域を確保して catする.
src | cat元へのポインタ. |
dst | cat先へのポインタ. |
0以上 | dstのバッファにコピーされた文字数. |
JBXL_NULL_EEROR | srcまたは dstが NULL |
JBXL_MALLOC_ERROR | メモリの確保に失敗した.何も実行されなかった. |
Definition at line 384 of file buffer.cpp.
References Buffer::buf, BUFFER_FACT, Buffer::bufsz, free_Buffer(), JBXL_MALLOC_ERROR, JBXL_NULL_ERROR, Buffer::state, and Buffer::vldsz.
Referenced by CBVHTool::_get_bvh_params(), _json_to_Buffer(), ColladaXML::addController(), ColladaXML::addGeometry(), ColladaXML::addNormalSource(), ColladaXML::addScene(), ColladaXML::addTexcrdSource(), ColladaXML::addVertexSource(), ColladaXML::addVerticesPos(), ColladaXML::addWeightSource(), decomp_url(), extract_tTar(), gz_decode_data(), http_proxy_header_analyze(), ins_b2Buffer(), ins_Buffer(), join_Buffer_dim(), BrepSolidList::outputFile(), ColladaXML::outputFile(), CLogRingBuffer::putRingBuffer(), read_lines_Buffer(), rebuild_http_Buffer(), recv_http_chunked(), recv_http_chunked_remain(), recv_http_closed(), recv_http_content(), restore_protocol_contents(), restore_protocol_header(), search_protocol_header(), MeshFacetNode::setMaterialID(), tcp_recv_Buffer_tosize(), tcp_recv_Buffer_tosize_wait(), tcp_recv_lines_Buffer(), xml_attr_to_Buffer(), xml_close_node_Buffer(), and xml_open_node_Buffer().
int cat_i2Buffer | ( | int | src, |
Buffer * | dst ) |
int cat_i2Buffer(int src, Buffer* dst)
整数 srcを文字列に変換して,dstへ catする.
Definition at line 678 of file buffer.cpp.
References cat_b2Buffer(), LEN_INT, and snprintf.
Referenced by GLTFData::addNodes().
int cat_r2Buffer | ( | float | src, |
Buffer * | dst ) |
int cat_r2Buffer(float src, Buffer* dst)
実数 srcを文字列に変換して,dstへ catする.
Definition at line 720 of file buffer.cpp.
References cat_b2Buffer(), LEN_REAL, and snprintf.
Buffer cawk_Buffer(Buffer str, char cc, int n)
Buffer文字列に対する(変形の)awk.
ccを区切り記号として, strのバッファ内の n番目の項目を返す.
n は 1から数える.連続する cc(区切り)は一つの区切りとみなす.
str | 操作対象文字列. |
cc | 区切り文字. |
n | 項目の指定.1から数える. |
Definition at line 1094 of file buffer.cpp.
References Buffer::buf, init_Buffer(), make_Buffer(), and Buffer::vldsz.
Referenced by cawk_Buffer_tList(), get_http_status_num(), get_http_version_num(), http_proxy_header_analyze(), and search_protocol_header_item().
void chomp_Buffer | ( | Buffer * | str | ) |
void chomp_Buffer(Buffer* str)
最初の改行コード以降を無視する.
最初の改行コードに場所に,'\0'が代入される.
[in,out] | str | 操作対象の文字列(Buffer型). |
Definition at line 1347 of file buffer.cpp.
References Buffer::buf, CHAR_CR, CHAR_LF, and Buffer::vldsz.
void clear_Buffer | ( | Buffer * | str | ) |
void clear_Buffer(Buffer* str)
Buffer型変数 のバッファ部を 0クリアする.
str | クリアする Buffer型データへのポインタ. |
Definition at line 272 of file buffer.cpp.
References Buffer::buf, Buffer::bufsz, JBXL_NORMAL, Buffer::state, and Buffer::vldsz.
Referenced by erase_bBuffer(), get_protocol_header_list_seq(), read_lines_Buffer(), recv_http_Buffer(), recv_http_chunked(), tcp_recv_lines_Buffer(), and tcp_recv_mstream_Buffer().
int cmp_Buffer(Buffer src, Buffer dst, int n)
バッファ部の比較.
Buffer変数 srcと dstのバッファ部分を比較する.
n<=0 なら 完全一致, n>0 なら 先頭から nバイト比較する.
src | 比較元へのポインタ. |
dst | 比較先へのポインタ. |
n | 比較文字数. |
0 | srcと dstは一致している. |
1 | srcは dstと一致していない. |
JBXL_NULL_ERROR | バッファが NULL |
JBXL_BUFFER_CMP_ERROR | n が vldsz より大きい |
Definition at line 762 of file buffer.cpp.
References Buffer::buf, JBXL_BUFFER_CMP_ERROR, JBXL_NULL_ERROR, and Buffer::vldsz.
int copy_b2Buffer | ( | void * | src, |
Buffer * | dst, | ||
int | len ) |
int copy_b2Buffer(void* src, Buffer* dst, int len)
任意のバイナリデータsrcを Buffer型変数dstへ lenバイト copyする.
もし, dstに srcのバッファを copyするだけのスペースが無い場合は新たにバッファ領域を確保して copyする.
lenが 0未満の場合は, srcは文字列として扱われる.
src | copy元の任意データへのポインタ. |
dst | copy先のBuffer型変数へのポインタ. |
len | copyするバイト数. |
0以上 | dstのバッファにコピーされた文字数. |
JBXL_NULL_EEROR | srcまたは dstが NULL |
JBXL_MALLOC_ERROR | メモリの確保に失敗した.何も実行されなかった. |
Definition at line 518 of file buffer.cpp.
References Buffer::buf, BUFFER_FACT, Buffer::bufsz, JBXL_MALLOC_ERROR, JBXL_NORMAL, JBXL_NULL_ERROR, Buffer::state, and Buffer::vldsz.
Referenced by copy_i2Buffer(), copy_r2Buffer(), decode_base64_Buffer(), get_Buffer_ringBuffer(), ins_b2Buffer(), tcp_recv_Buffer_tosize(), and tcp_recv_Buffer_tosize_wait().
int copy_Buffer(Buffer* src, Buffer* dst)
Buffer型変数 srcから dstへバッファをコピーする.
もし, dstに srcのバッファをコピーするだけのスペースが無い場合は, 新たにバッファ領域を確保してコピーする.
src | コピー元へのポインタ. |
dst | コピー先へのポインタ. |
0以上 | dstのバッファにコピーされた文字数. |
JBXL_NULL_EEROR | srcまたは dstが NULL |
JBXL_MALLOC_ERROR | メモリの確保に失敗した.何も実行されなかった. |
Definition at line 315 of file buffer.cpp.
References Buffer::buf, BUFFER_FACT, Buffer::bufsz, JBXL_MALLOC_ERROR, JBXL_NULL_ERROR, and Buffer::vldsz.
Referenced by ColladaXML::addGeometry(), decomp_url(), erase_bBuffer(), expand_Buffer(), CLogRingBuffer::getRingBuffer(), CLogRingBuffer::getRingBuffer(), http_proxy_header_analyze(), ins_Buffer(), json_copy_data(), json_copy_val(), json_set_str_val(), CLogRingBuffer::putRingBuffer(), read_lines_Buffer(), recv_http_Buffer(), recv_http_file(), and restore_protocol_header().
int copy_i2Buffer | ( | int | src, |
Buffer * | dst ) |
int copy_i2Buffer(int src, Buffer* dst)
整数 srcを文字列に変換して,dstへ copyする.
Definition at line 664 of file buffer.cpp.
References copy_b2Buffer(), LEN_INT, and snprintf.
Referenced by json_append_array_int_val(), json_append_obj_int_val(), json_set_int_val(), and rebuild_http_Buffer().
int copy_r2Buffer | ( | float | src, |
Buffer * | dst ) |
int copy_r2Buffer(float src, Buffer* dst)
実数 srcを文字列に変換して,dstへ copyする.
Definition at line 706 of file buffer.cpp.
References copy_b2Buffer(), LEN_REAL, and snprintf.
Referenced by json_append_array_real_val(), json_append_obj_real_val(), and json_set_real_val().
Buffer decode_base64_Buffer(Buffer str)
strのバッファを Base64からデコードする.
変換は str.bufの先頭から順次行われる.A-Za-z0-9+/ 以外は無視する(例えば改行コード).
入力バッファ部が 4byte(6bit*4)の場合, 出力バッファ部は 3byte (8bit*3)となる.
入力バッファ部のバイト数が 4の倍数でない場合(不正なデータ), 足りない入力バッファ部には '='が挿入されているものとみなす.
str | Base64からデコードする文字列. |
Definition at line 850 of file buffer.cpp.
References Buffer::buf, copy_b2Buffer(), decode_base64(), init_Buffer(), make_Buffer(), and Buffer::vldsz.
Referenced by Base64::decode(), decode_base64_filename_Buffer(), encrypt_Base64(), llsd_xml_get_content_bin(), read_tagged_Buffer(), and setkey_byBase64().
Buffer decode_base64_filename_Buffer(Buffer str, unsigned char cc)
bufを Base64で decodeしてファイル名からバイナリデータを取り出す.ただし cc は '/' として扱う.
Definition at line 929 of file buffer.cpp.
References Buffer::buf, decode_base64_Buffer(), and Buffer::vldsz.
void del_Buffer | ( | Buffer ** | buf | ) |
new_Buffer()で作り出した Buffer型変数を削除する.
buf | 削除する Bufferデータのポインタへのポインタ. |
Definition at line 148 of file buffer.cpp.
Buffer dump_Buffer(Buffer buf)
Buffer型変数のデバッグ用 16進を Buffer型変数に出力する.
buf.bufの buf.vldszバイトを16進表示する.
buf.vldsz<0 の場合は 文字列とみなす.
buf | 変換する Buffer型データ. |
Definition at line 1254 of file buffer.cpp.
References Buffer::buf, DUMP_BUFFER_CHAR_START, DUMP_BUFFER_DELI_START, DUMP_BUFFER_LINE_SIZE, init_Buffer(), make_Buffer(), and Buffer::vldsz.
Referenced by CLogRingBuffer::rewriteBinHexRingBuffer().
Buffer型変数のコピーをつくる.
buf | コピーする変数. |
Definition at line 211 of file buffer.cpp.
References Buffer::buf, and Buffer::bufsz.
Referenced by _copy_tTree_byctrl(), CBVHTool::_get_bvh_params(), ColladaXML::addController(), ColladaXML::addGeometry(), GLTFData::addNodes(), ColladaXML::addScene(), GLTFData::addShell(), OBJData::addShell(), buffer_key_tList(), decomp_hostport(), decomp_url(), TextureParam::dup(), dup_tList_data(), erase_bBuffer(), extract_tTar(), get_Buffer_dim_tList(), get_Buffer_dim_tList_value(), get_dir_files(), get_node_content(), get_value_tTree(), json_parse_seq(), make_tList_data(), OBJData::output_obj(), read_tagged_Buffer(), rebuild_http_Buffer(), relative_path_Buffer(), save_tagged_Buffer(), search_protocol_header(), set_protocol_contents(), set_tList_node_byBuffer(), and tcp_send_sBufferln().
Buffer encode_base64_Buffer(Buffer buf)
バイナリデータ buf.bufの buf.vldszバイトを Base64にエンコード する.
buf.vldszが -1以下の場合は buf.vldszは buf.bufの最初の 0x00のまでの長さ(strlen()+1)となる.
つまり buf.buf は文字列と 見なされる.
入力バッファ部が 3byte(8bit*3)の場合, 出力バッファ部は 4byte(6bit*4)となる.
入力バッファ部が 6bit境界でない場合, 6bit境界まで 0が付加されたと見される.
出力バッファ部が 4byte境界でない場合, 4byte境界まで '='を付加して出力する.
また,出力バッファ部での 60byte毎の改行は行わない.
一般に n byte 入力された場合, Base64の出力の文字数は (n+2)/3*4 byte となる.
buf | Base64にエンコードするデータ. |
Definition at line 804 of file buffer.cpp.
References Buffer::buf, copy_s2Buffer, encode_base64(), init_Buffer(), make_Buffer(), and Buffer::vldsz.
Referenced by Base64::encode(), encode_base64_filename_Buffer(), encrypt_Base64(), llsd_bin_main_parse(), read_tagged_Buffer(), and save_tagged_Buffer().
Buffer encode_base64_Buffer_bin | ( | unsigned char * | bin, |
unsigned int | sz, | ||
int | nopad ) |
Buffer encode_base64_Buffer_bin(unsigned char* bin, unsigned int sz, int nopad)
sz バイトの バイナリデータ binを Base64にエンコード する. nopad = TRUE の場合,データ末の パッド(=)は削除する.
Definition at line 881 of file buffer.cpp.
References encode_base64(), init_Buffer(), and make_Buffer_bystr.
Referenced by Base64::encode_Buffer_bin().
Buffer encode_base64_filename_Buffer(Buffer buf, unsigned char cc)
バイナリデータ bufを Base64で encodeしてファイル名を作る.ただし '/' は cc として扱う.
Definition at line 909 of file buffer.cpp.
References Buffer::buf, encode_base64_Buffer(), and Buffer::vldsz.
Buffer erase_bBuffer(Buffer buf, char* bin, int len)
buf.buf 中にある bin のデータ(各1Byte,順不同)を削除する.
buf | 操作する Buffer変数 |
bin | 削除するデータを格納したメモリへのポインタ |
len | binデータの長さ(-1以下の場合は strlen(bin)) |
Definition at line 1562 of file buffer.cpp.
References Buffer::buf, clear_Buffer(), copy_Buffer(), dup_Buffer(), free_Buffer(), make_Buffer(), and Buffer::vldsz.
void expand_Buffer | ( | Buffer * | buf, |
int | len ) |
void expand_Buffer(Buffer* buf, int len)
buf のデータ部を lenに拡張した新しい Buffer を返す.
bug のデータ部は 解放される.free_Buffer()
Definition at line 253 of file buffer.cpp.
References Buffer::bufsz, copy_Buffer(), free_Buffer(), and make_Buffer().
int fgets_Buffer | ( | Buffer * | str, |
FILE * | fp ) |
int fgets_Buffer(Buffer* str, FILE* fp)
拡張fgets.文字列の読み込みに使用する.改行コードは削除する.
strのバッファは予め十分な大きさを確保しておかなければならない.
str | 文字列を読みこむための Buffer型データバッファ. |
fp | 文字列を読みこむファイルへのポインタ. |
Definition at line 1402 of file buffer.cpp.
References Buffer::buf, Buffer::bufsz, CHAR_CR, CHAR_LF, UNUSED, and Buffer::vldsz.
void free_Buffer | ( | Buffer * | buf | ) |
Buffer型変数のバッファ部を解放する.
buf | 開放するバッファを持った Bufferデータへのポインタ. |
Definition at line 128 of file buffer.cpp.
References Buffer::buf, JBXL_NORMAL, Buffer::state, and Buffer::vldsz.
Referenced by _copy_tTree_byctrl(), _DER_parse_children(), _json_array_parse(), _replace_all_node_byid_rcsv(), _replace_all_node_contents_rcsv(), add_resource_list(), add_xml_attr_double(), add_xml_attr_float(), add_xml_attr_int(), add_xml_attr_str(), ColladaXML::addController(), ColladaXML::addEffect(), ColladaXML::addExtraBumpmap(), ColladaXML::addGeometry(), ColladaXML::addImage(), GLTFData::addMaterials(), GLTFData::addNodes(), ColladaXML::addNormalSource(), ColladaXML::addScene(), GLTFData::addShell(), ColladaXML::addTexcrdSource(), GLTFData::addTextures(), ColladaXML::addVertexSource(), ColladaXML::addVerticesPos(), ColladaXML::addWeightSource(), awk_Buffer_tList(), cat_b2Buffer(), cat_Buffer(), cawk_Buffer_tList(), CBVHTool::clear_data(), clear_tList_data(), GLTFData::convertJson_TexturePath(), decode_runlength(), decomp_url(), deflate2gzip(), del_Buffer_dim(), encrypt_Base64(), encrypt_Buffer(), erase_bBuffer(), ColladaXML::existSameID(), expand_Buffer(), extract_tTar(), ColladaXML::free(), FBXData::free(), GLTFData::free(), TextureParam::free(), MaterialParam::free(), MeshFacetNode::free(), MeshObjectData::free(), OBJData::free(), OBJFacetGeoNode::free(), OBJFacetMtlNode::free(), GLTFData::freeGLBTextureInfo(), get_dir_files(), get_double_param_tList(), get_float_param_tList(), get_http_status_num(), get_http_version_num(), get_int_param_tList(), get_node_integer(), get_protocol_header_list_seq(), get_tList_line_Buffer(), get_tList_seq_data_Buffer(), get_xml_double_attr(), get_xml_double_attr_bystr(), get_xml_int_attr(), get_xml_int_attr_bystr(), gz_decode_data(), http_proxy_header_analyze(), ColladaXML::initCollada(), ins_b2Buffer(), ins_Buffer(), is_http_header_field(), json_append_array_int_val(), json_append_array_key(), json_append_array_real_val(), json_append_array_str_val(), json_append_obj_int_val(), json_append_obj_key(), json_append_obj_real_val(), json_append_obj_str_val(), json_array_parse(), json_parse_file(), json_parse_prop(), json_parse_seq(), json_set_str_val(), llsd_bin_get_length(), llsd_bin_main_parse(), llsd_xml_contain_key(), llsd_xml_get_content_bin(), llsd_xml_get_content_int(), llsd_xml_get_content_real(), llsd_xml_get_content_str(), GLTFData::output_glb(), GLTFData::output_gltf(), OBJData::output_mtl(), OBJData::output_obj(), FBXData::outputFile(), GLTFData::outputFile(), OBJData::outputFile(), BrepSolidList::outputFile(), ColladaXML::outputFile(), print_json(), print_json_opt(), print_xml(), CLogRingBuffer::putRingBuffer(), CLogRingBuffer::putRingFormat(), CLogRingBuffer::putRingFormat(), read_Buffer2_format_fp(), read_Buffer_data(), read_Buffer_format_fp(), read_Buffer_tList_fp(), read_index_tList_fp(), read_lines_Buffer(), read_tagged_Buffer(), jbxl::readXHead(), jbxl::readXHeadFile(), recv_http_Buffer(), recv_http_chunked(), recv_http_chunked_remain(), recv_http_closed(), recv_http_content(), recv_http_file(), recv_http_header(), relative_path_Buffer(), replace_all_tTree_node(), replace_item_tList_node(), replace_sBuffer_file(), replace_value_tList_node(), replace_xml_content(), rewrite_sBuffer_bystr(), CLogRingBuffer::rewriteBinHexRingBuffer(), save_http_xml(), save_tagged_Buffer(), search_protocol_header_item(), send_http_Buffer(), send_http_file(), send_http_header(), set_http_host_header(), set_item_tList_node(), set_protocol_contents(), set_tList_node_byBuffer(), set_tList_node_bystr(), set_value_tList_node(), MeshObjectData::setAltName(), setkey_byBase64(), setkey_byBuffer(), MeshFacetNode::setMaterialID(), TextureParam::setName(), MeshObjectData::setName(), simple_web_proxy(), tcp_recv_Buffer_tosize(), tcp_recv_Buffer_tosize_wait(), tcp_recv_lines_Buffer(), tcp_recv_mstream_Buffer(), tcp_relay(), tcp_send_sBufferln(), CBVHTool::writeMultiFile(), www2browser_relay(), and xml_parse_file().
Buffer get_line_Buffer(Buffer str, int n)
複数行の文字列バッファから任意の行を取り出す.
strのバッファ内の n行目を取り出す.改行コードは削除される.
n は 1から数える.取り出した行を Buffer型変数のバッファに格納(コピー)して返す.
str | 操作対象の文字列(含む改行). |
n | 行の指定.1から数える. |
Definition at line 956 of file buffer.cpp.
References Buffer::buf, CHAR_CR, CHAR_LF, init_Buffer(), make_Buffer(), and Buffer::vldsz.
Referenced by get_tList_line_Buffer().
Buffer get_seq_data_Buffer(Buffer str, int* ptr)
複数行の文字列バッファ内の行データをシーケンシャルに取り出す.
改行コードは削除される.連続して呼び出す場合,一番最初は *ptrに 0を設定し,以後は *ptrの内容は変えない.
取り出した行を Buffer型変数のバッファに格納して返す.
バッファを越えて行を読もうとした時は NULL を返す. バッファの終わりは valdszで知る.
[in] | str | 操作対象文の Buffer型データ(含む改行) |
[in,out] | ptr | in: 読み込みを開始するデータの位置(バイト). out: 次のデータが始まる位置(バイト). |
Definition at line 1003 of file buffer.cpp.
References Buffer::buf, CHAR_CR, CHAR_LF, init_Buffer(), make_Buffer(), and Buffer::vldsz.
Referenced by get_tList_seq_data_Buffer().
Buffer init_Buffer | ( | void | ) |
初期化したBuffer型変数を返す.
Definition at line 47 of file buffer.cpp.
References JBXL_NORMAL, Buffer::state, and Buffer::vldsz.
Referenced by GLTFData::addNodes(), awk_Buffer(), buffer_key_tList(), buffer_key_value_tList(), cawk_Buffer(), clear_tList_data(), decode_base64_Buffer(), decode_runlength(), decomp_url(), deflate2gzip(), dump_Buffer(), encode_base64_Buffer(), encode_base64_Buffer_bin(), encode_runlength(), extract_tTar(), fgets_mstream_Buffer(), from_bin64(), get_Buffer_from_json(), get_Buffer_join_tList(), get_json_val(), get_line_Buffer(), get_node_content(), get_seq_data_Buffer(), get_value_tTree(), CLogRingBuffer::getRingBuffer(), gz_decode_data(), http_proxy_header_analyze(), ColladaXML::init(), OBJData::init(), CBVHTool::init(), FBXData::init(), GLTFData::init(), TextureParam::init(), MaterialParam::init(), MeshFacetNode::init(), OBJFacetGeoNode::init(), OBJFacetMtlNode::init(), join_Buffer_dim(), json_inverse_parse(), json_inverse_parse_opt(), json_set_str_val(), llsd_bin_get_bin(), llsd_bin_get_str(), llsd_bin_get_uuid(), llsd_xml_get_content_bin(), llsd_xml_get_content_str(), make_form_urlenc(), pack_Buffer(), read_Buffer2_format_fp(), read_Buffer_data(), read_Buffer_file(), read_Buffer_format_fp(), read_tagged_Buffer(), relative_path_Buffer(), replace_sBuffer_bystr(), restore_protocol_header(), search_protocol_header(), search_protocol_header_partvalue(), search_protocol_header_value(), set_Buffer(), and xml_inverse_parse().
int ins_b2Buffer | ( | void * | src, |
Buffer * | dst, | ||
int | len ) |
int ins_b2Buffer(void* src, Buffer* dst, int len)
任意のバイナリデータsrcを Buffer型変数dstの前に lenバイト挿入する.
lenが 0未満の場合は, srcは文字列として扱われる.
src | 挿入元の任意データへのポインタ. |
dst | 挿入先のBuffer型変数へのポインタ. |
len | 挿入するバイト数. |
0以上 | dstのバッファにコピーされた文字数. |
JBXL_NULL_EEROR | srcまたは dstが NULL |
JBXL_MALLOC_ERROR | メモリの確保に失敗した.何も実行されなかった. |
Definition at line 636 of file buffer.cpp.
References Buffer::bufsz, cat_Buffer(), copy_b2Buffer(), free_Buffer(), make_Buffer(), and Buffer::vldsz.
Referenced by ins_i2Buffer(), and ins_r2Buffer().
int ins_Buffer(Buffer* src, Buffer* dst)
Buffer変数 dst の前に src を挿入する.
src | 挿入元のポインタ. |
dst | 挿入先へのポインタ. |
0以上 | dstのバッファにコピーされた文字数. |
JBXL_NULL_EEROR | srcまたは dstが NULL |
JBXL_MALLOC_ERROR | メモリの確保に失敗した.何も実行されなかった. |
Definition at line 458 of file buffer.cpp.
References Buffer::bufsz, cat_Buffer(), copy_Buffer(), free_Buffer(), make_Buffer(), and Buffer::vldsz.
int ins_i2Buffer | ( | int | src, |
Buffer * | dst ) |
int ins_i2Buffer(int src, Buffer* dst)
整数 srcを文字列に変換して,dstの前に 挿入する.
Definition at line 692 of file buffer.cpp.
References ins_b2Buffer(), LEN_INT, and snprintf.
int ins_r2Buffer | ( | float | src, |
Buffer * | dst ) |
int ins_r2Buffer(float src, Buffer* dst)
実数 srcを文字列に変換して,dstの前に 挿入する.
Definition at line 734 of file buffer.cpp.
References ins_b2Buffer(), LEN_REAL, and snprintf.
int isText_Buffer | ( | Buffer | buf | ) |
Buffer型変数 bufのバッファ部がテキストかどうか検査する.
buf | 検査対象の Buffer型変数. |
TRUE | バッファ部はテキストである. |
FALSE | バッファ部はテキストではない. |
Definition at line 1373 of file buffer.cpp.
References Buffer::buf, FALSE, and Buffer::vldsz.
Referenced by CLogRingBuffer::putRingBuffer().
void kanji_convert_Buffer | ( | Buffer * | str | ) |
void kanji_convert_Buffer(Buffer* str)
大域変数 KanjiCode (tools.h) に従って漢字コードを変換する.
[in,out] | str | 変換する文字列を持つBuffer型データ.内容が書き換えられる. |
Definition at line 1157 of file buffer.cpp.
References Buffer::buf, CODE_SJIS, euc2sjis(), and KanjiCode.
Buffer make_Buffer | ( | int | sz | ) |
Buffer型変数のバッファ部をつくり出す.
sz は Buffer型変数のバッファの大きさ.
バッファ部は 0x00で初期化される.bufsz=sz, vldsz=0 となる.
バッファ部の作成に失敗した場合,バッファのサイズ(bufsz)は 0,バッファへのポインタは NULLとなる.
sz | Buffer型変数のバッファの大きさ. |
Definition at line 71 of file buffer.cpp.
References Buffer::buf, Buffer::bufsz, JBXL_ERROR, JBXL_NORMAL, Buffer::state, and Buffer::vldsz.
Referenced by awk_Buffer(), bvh_parse_hierarchy(), cawk_Buffer(), comp_url(), GLTFData::createBinDataAoS(), GLTFData::createBinDataSeqAoS(), GLTFData::createBinDataSeqSoA(), GLTFData::createBinDataSoA(), decode_base64_Buffer(), decode_runlength(), decomp_url(), decompline_Buffer_dim(), deflate2gzip(), dump_Buffer(), encode_base64_Buffer(), encode_runlength(), erase_bBuffer(), expand_Buffer(), fgets_mstream_Buffer(), from_bin64(), get_Buffer_join_tList(), CBVHTool::get_bvh_params(), get_line_Buffer(), get_protocol_header_list_seq(), get_seq_data_Buffer(), CLogRingBuffer::getRingBuffer(), CLogRingBuffer::getRingBuffer(), gz_decode_data(), CLogRingBuffer::init(), ins_b2Buffer(), ins_Buffer(), int2bin_DER(), join_Buffer_dim(), json_append_array_int_val(), json_append_array_real_val(), json_append_array_str_val(), json_append_obj_int_val(), json_append_obj_real_val(), json_append_obj_str_val(), json_inverse_parse(), json_inverse_parse_opt(), json_set_str_val(), llsd_bin_get_length(), make_Buffer_bychar(), new_Buffer(), node2DER(), CLogRingBuffer::putRingFormat(), CLogRingBuffer::putRingFormat(), randbit_Buffer(), randstr_Buffer(), read_Buffer_data(), read_Buffer_format_fp(), read_lines_Buffer(), recv_http_chunked(), recv_http_chunked_remain(), recv_http_closed(), recv_http_content(), recv_http_file(), recv_http_header(), replace_sBuffer_bystr(), rept_Buffer(), restore_protocol_contents(), restore_protocol_header(), save_tagged_Buffer(), set_Buffer(), set_http_host_header(), simple_web_proxy(), tcp_recv_Buffer_tosize(), tcp_recv_Buffer_tosize_wait(), tcp_recv_lines_Buffer(), tcp_recv_mstream_Buffer(), tcp_relay(), to_bin64(), www2browser_relay(), and xml_inverse_parse().
Buffer make_Buffer_bychar | ( | unsigned char | cc | ) |
Buffer make_Buffer_bychar(unsigned char cc)
文字から,Buffer型変数のバッファ部をつくり出す.
make_Buffer_bychar('\0') は Buffer変数の初期化にも使用される.
cc | Buffer型変数のバッファに格納する文字 |
Definition at line 108 of file buffer.cpp.
References Buffer::buf, LADDR, make_Buffer(), and Buffer::vldsz.
Buffer make_Buffer_randomstr | ( | int | n | ) |
Buffer make_Buffer_randomstr(int n)
ランダムな n文字から,Buffer型変数のバッファ部をつくり出す.
Definition at line 192 of file buffer.cpp.
References random_str, and set_Buffer().
Buffer * new_Buffer | ( | int | sz | ) |
Buffer* new_Buffer(int sz)
空のBuffer型変数を生成する.
sz | Buffer型変数のバッファの大きさ.0以下の場合は,バッファ部は作成しない. |
Definition at line 23 of file buffer.cpp.
References JBXL_NORMAL, make_Buffer(), Buffer::state, and Buffer::vldsz.
Referenced by GLTFData::convertJson_TexturePath(), get_Buffer_ringBuffer(), and GLTFData::getGLBTextureInfo().
Buffer pack_Buffer(Buffer buf, char cc)
文字列の先頭のcc(複数),終わりのcc(複数),TAB, CR, LF を削除
文字列の先頭,終わり部分でない場所にある ccは削除されない.
buf | 操作対象の Buffer型変数 |
cc | 削除する文字 |
Definition at line 1134 of file buffer.cpp.
References Buffer::buf, Buffer::bufsz, init_Buffer(), pack_char, and Buffer::vldsz.
Referenced by json_array_parse(), json_parse_prop(), and read_index_tList_fp().
char pop_char_ringStack | ( | Buffer * | buf | ) |
char pop_char_ringStack(Buffer* buf)
簡易 char型 ringStack POP
Definition at line 1855 of file buffer.cpp.
References Buffer::buf, Buffer::bufsz, and Buffer::vldsz.
Referenced by llsd_bin_get_length().
void push_char_ringStack | ( | Buffer * | buf, |
char | cc ) |
void push_char_ringStack(Buffer* buf, char cc)
簡易 char型 ringStack PUSH
Definition at line 1869 of file buffer.cpp.
References Buffer::buf, Buffer::bufsz, and Buffer::vldsz.
Referenced by llsd_bin_get_length().
Buffer randbit_Buffer | ( | int | n | ) |
ランダムに n bitのバイナリを生成する.
n | 出力する bit数. |
Definition at line 1224 of file buffer.cpp.
References Buffer::buf, make_Buffer(), setBit, and Buffer::vldsz.
Buffer randstr_Buffer | ( | int | n | ) |
ランダムに A-Za-z0-9+/ までの文字を n文字生成する.
n | 出力する文字数. |
Definition at line 1199 of file buffer.cpp.
References Buffer::buf, make_Buffer(), and Buffer::vldsz.
int read_Buffer2_format_fp(Buffer* key, Buffer* buf, FILE* fp)
ファイル fp から 2つのBuffer型変数の keyと bufを読み込む.
データ検索用ファイルからの読み込み時に使用する.
key | 読み込むキー部のBuffer型変数へのポインタ. |
buf | 読み込むデータ部のBuffer型変数へのポインタ. |
fp | ファイルディスクリプタ |
TRUE | 読み込み成功. |
FALSE | 読み込みに失敗. |
Definition at line 1819 of file buffer.cpp.
References Buffer::buf, FALSE, free_Buffer(), init_Buffer(), read_Buffer_format_fp(), and TRUE.
Referenced by read_Buffer_tList_fp(), and read_tagged_Buffer().
Buffer read_Buffer_data | ( | FILE * | fp, |
int | sz ) |
Buffer read_Buffer_data(FILE* fp, int sz)
ファイルポインタ fp から szバイトをBuffer型変数に読み込む.
fp | ファイルポインタ |
sz | 読み込みサイズ |
Definition at line 1497 of file buffer.cpp.
References Buffer::buf, free_Buffer(), init_Buffer(), make_Buffer(), and Buffer::vldsz.
Referenced by read_Buffer_file(), jbxl::readXHead(), and jbxl::readXHeadFile().
Buffer read_Buffer_file | ( | const char * | fn | ) |
Buffer read_Buffer_file(const char* fn)
ファイル fn の内容を Buffer型変数に読み込む.
fn | ファイル名 |
Definition at line 1467 of file buffer.cpp.
References file_size(), init_Buffer(), and read_Buffer_data().
Referenced by get_protocol_header_list_file(), json_parse_file(), replace_sBuffer_file(), and xml_parse_file().
Buffer read_Buffer_format_fp | ( | FILE * | fp | ) |
Buffer read_Buffer_format_fp(FILE* fp)
ファイル fp から Buffer型変数の buf部を読み込む.
ただしファイルの先頭にファイルサイズを示す4Byteの値が必要
fp | ファイルディスクリプタ |
Definition at line 1783 of file buffer.cpp.
References Buffer::buf, free_Buffer(), init_Buffer(), make_Buffer(), and Buffer::vldsz.
Referenced by read_Buffer2_format_fp().
int read_lines_Buffer | ( | Buffer * | str, |
FILE * | fp ) |
int read_lines_Buffer(Buffer* str, FILE* fp)
複数文字列行の読み込み.文字列の読み込みに使用する.
strのバッファは予め十分な大きさを確保しておかなければならない.
str | 文字列を読みこむための Buffer型データバッファ. |
fp | 文字列を読みこむファイルへのポインタ. |
Definition at line 1433 of file buffer.cpp.
References Buffer::buf, Buffer::bufsz, cat_Buffer(), clear_Buffer(), copy_Buffer(), free_Buffer(), JBXL_BUFFER_MAKE_ERROR, make_Buffer(), UNUSED, and Buffer::vldsz.
int recalc_strlen_Buffer | ( | Buffer * | buf | ) |
int recalc_strlen_Buffer(Buffer* buf)
Buffer型変数のデータ部を文字列と見なして,その長さを返す.
vldsz は再計算される.
[in] | buf | 操作対象文字列 |
[out] | buf | vldsz 文字列の長さ.再計算される. |
Definition at line 1310 of file buffer.cpp.
References Buffer::buf, and Buffer::vldsz.
Referenced by CLogRingBuffer::putRingFormat(), and CLogRingBuffer::putRingFormat().
Buffer replace_sBuffer_bystr(Buffer buf, const char* frm, const char* tos)
buf.buf中の文字列 frmを tosで置き換えた 新しい Bufferを返す.
frm は buf.buf とメモリ領域が重なってはいけない.
文字列型の Bufferにのみ対応.
buf | 操作する Buffer変数 |
frm | 変換する文字列 |
tos | 変換後の文字列 |
Definition at line 1603 of file buffer.cpp.
References Buffer::buf, BUFFER_FACT, Buffer::bufsz, cat_s2Buffer, init_Buffer(), JBXL_ERROR, make_Buffer(), Buffer::state, and Buffer::vldsz.
Referenced by _replace_all_node_byid_rcsv(), _replace_all_node_contents_rcsv(), replace_xml_content(), and rewrite_sBuffer_bystr().
int replace_sBuffer_file(char* fn, Buffer frm, Buffer tos)
テキストファイル中の frm の文字列を tos に書き換える
fn | 操作するファイル名 |
frm | 変換する文字列 |
tos | 変換後の文字列 |
TRUE 書き込み成功. | |
FALSE | 書き込みに失敗.ファイルの内容は保証されない. |
Definition at line 1652 of file buffer.cpp.
References Buffer::buf, FALSE, free_Buffer(), read_Buffer_file(), replace_sBuffer, and save_Buffer_file().
Buffer rept_Buffer | ( | unsigned char | cc, |
int | n ) |
Buffer rept_Buffer(unsigned char cc, int n)
文字 ccを n回繰り返したBuffer型データを返す.
cc | 繰り返す文字. |
n | 繰り返す回数. |
Definition at line 234 of file buffer.cpp.
References Buffer::buf, make_Buffer(), and Buffer::vldsz.
Referenced by CLogRingBuffer::putRingBuffer().
void rewrite_Buffer_bychar | ( | Buffer * | buf, |
const char | frm, | ||
const char | toc ) |
void rewrite_Buffer_bychar(Buffer* buf, const char frm, const char toc)
buf.buf中の文字 frmを tosで置き換える.
buf | 操作する Buffer変数 |
frm | 変換する文字 |
toc | 変換後の文字 |
Definition at line 1703 of file buffer.cpp.
References Buffer::buf, and Buffer::vldsz.
Referenced by canonical_filename_Buffer().
void rewrite_sBuffer_bystr | ( | Buffer * | buf, |
const char * | frm, | ||
const char * | tos ) |
void rewrite_sBuffer_bystr(Buffer* buf, const char* frm, const char* tos)
buf.buf中の文字列 frmを tosで置き換える.
buf.buf自体を書き換えること以外は replace_sBuffer_bystr() と同じ.
buf | 操作する Buffer変数 |
frm | 変換する文字列 |
tos | 変換後の文字列 |
Definition at line 1681 of file buffer.cpp.
References free_Buffer(), JBXL_NORMAL, replace_sBuffer_bystr(), and Buffer::state.
int save_Buffer2_format_fp(Buffer key, Buffer buf, FILE* fp)
ファイル fp へ 2つのBuffer型変数 keyと bufを書き込む.
データ検索用ファイルを作成するときに使用する.
key | 書き込むキー部のBuffer型変数. |
buf | 書き込むデータ部のBuffer型変数. |
fp | ファイルディスクリプタ |
TRUE 書き込み成功. | |
FALSE | 書き込みに失敗.ファイルの内容は保証されない. |
Definition at line 1733 of file buffer.cpp.
References FALSE, save_Buffer_format_fp(), and TRUE.
Referenced by save_Buffer_tList_fp(), and save_tagged_Buffer().
int save_Buffer_file | ( | Buffer | buf, |
char * | fn ) |
int save_Buffer_file(Buffer buf, char* fn)
ファイル fn へ Buffer型変数の buf部を書き込む.
buf | 書き込む Buffer型変数. |
fn | ファイル名 |
TRUE | 書き込み成功. |
FALSE | 書き込みに失敗.ファイルの内容は保証されない. |
Definition at line 1530 of file buffer.cpp.
References Buffer::buf, FALSE, TRUE, and Buffer::vldsz.
Referenced by replace_sBuffer_file().
int save_Buffer_format_fp | ( | Buffer | buf, |
FILE * | fp ) |
int save_Buffer_format_fp(Buffer buf, FILE* fp)
ファイル fp へ Buffer型変数の buf部を書き込む.
buf部に先立ち,buf部の大きさが intで書き込まれる.
buf | 書き込む Buffer型変数. |
fp | ファイルディスクリプタ |
TRUE 書き込み成功. | |
FALSE | 書き込みに失敗.ファイルの内容は保証されない. |
Definition at line 1759 of file buffer.cpp.
References Buffer::buf, FALSE, TRUE, and Buffer::vldsz.
Referenced by save_Buffer2_format_fp().
Buffer set_Buffer | ( | void * | dat, |
int | len ) |
Buffer set_Buffer(void* dat, int len)
Buffer型変数のバッファ部を新しく作り, そのバッファに bufをコピーする.
lenはコピーするデータ長.もし lenが 0未満の場合は, bufは文字列として扱われる.
buf が文字列の場合は make_Buffer_bystr() も使用可能.
dat | コピーするバッファへのポインタ. |
len | バッファ長(バイト単位). |
Definition at line 170 of file buffer.cpp.
References Buffer::buf, init_Buffer(), make_Buffer(), and Buffer::vldsz.
Referenced by _json_parse_term(), get_json_val(), json_array_parse(), json_parse_prop(), llsd_bin_get_bin(), llsd_bin_get_block_data(), llsd_bin_get_uuid(), make_Buffer_randomstr(), and set_DER_node().