25 bool err_flag =
false;
33 kindData = (
int*)malloc(
sizeof(
int)*size);
34 inputSrc = (
int*)malloc(
sizeof(
int)*size);
38 memset(
kindData, 0,
sizeof(
int)*size);
39 memset(
inputSrc, 0,
sizeof(
int)*size);
42 for (
int i=0; i<size; i++) {
44 if (
pBuf[i].buf==NULL) {
96 if (buf.
buf==NULL || buf.
vldsz<=0)
return;
98 if (dim==NULL || dim->
state<=0)
return;
103 for (i=0; i<dim->
state; i++) {
104 total += dim[i].
vldsz;
106 if (buf.
vldsz!=total) {
107 DEBUG_ERR(
"ERROR: CLogRingBuffer::putRingBuffer(): mismatch total data size!! %d %d", buf.
vldsz, total);
124 for (i=nxt; i<dim->
state; i++) {
162 for (i=0; i<2; i++) {
227 len = (int)strlen(fmt);
228 nfmt = (
char*)malloc(len+1);
229 if (nfmt==NULL)
return;
230 strncpy(nfmt, fmt, len);
259 len = (int)strlen(fmt);
260 nfmt = (
char*)malloc(len+1);
261 if (nfmt==NULL)
return;
262 strncpy(nfmt, fmt, len);
310 if (pos<0)
return buf;
#define LOG_RB_BINARY_DATA
#define LOG_RB_BINHEX_DATA
#define LOG_RB_UNKNOWN_DATA
#define LOG_RB_TEXT_HALF_DATA
Buffer make_Buffer(int sz)
Buffer型変数のバッファ部をつくり出す.
void free_Buffer(Buffer *buf)
Buffer型変数のバッファ部を解放する
Buffer init_Buffer()
初期化したBuffer型変数を返す.
Buffer rept_Buffer(unsigned char cc, int n)
文字 ccを n回繰り返したBuffer型データを返す.
int isText_Buffer(Buffer buf)
Buffer型変数 bufのバッファ部がテキストかどうか検査する.
int recalc_strlen_Buffer(Buffer *buf)
Buffer型変数のデータ部を文字列と見なして,その長さを返す.
int cat_Buffer(Buffer *src, Buffer *dst)
Buffer変数 srcから dstへバッファを catする.
int copy_Buffer(Buffer *src, Buffer *dst)
Buffer型変数 srcから dstへバッファをコピーする.
Buffer dump_Buffer(Buffer buf)
Buffer型変数のデバッグ用 16進を Buffer型変数に出力する.
#define copy_s2Buffer(src, dst)
copy_b2Buffer()
#define cat_s2Buffer(src, dst)
cat_b2Buffer()
void putRingFormat(int input, char *fmt,...)
void putRingBuffer(Buffer buf, int input=LOG_RB_MESG, int kind=LOG_RB_UNKNOWN_DATA)
virtual ~CLogRingBuffer(void)
void rewriteBinHexRingBuffer(int n, int input)
Buffer getRingBuffer(void)
int vldsz
データの長さ.バイナリデータの場合も使用可能.文字列の場合は 0x00 を含まない.
int state
変数の状態を表す.正常は JBXL_NORMAL
unsigned char * buf
バッファの先頭へのポインタ.str[bufsz]は必ず 0x00となる.