.TH detect 3 2019-08-01 "libchardet manuals" .\" Process with .\" nroff -man detect.3 .\" 2019-08-01 JoungKyun.Kim .SH NAME detect, detect_r \- Detecting character set and measuring accuracy of charset .SH SYNOPSIS .B "#include " .sp .BI "short detect (char * inbuf, DetectObj ** outbuf);" .sp .BI "short detect_r (char * inbuf, size_t inlen, DetectObj ** outbuf);" .SH DESCRIPTION Storing charset and accuracy of .B inbuf to .B outbuf The .BI detect API is deprecated becase this api is not binary safe. Use or replace to .BI detect_r api. .SS Arguments: .TP .B inbuf .br input string for detecting .TP .B inlen .br length of input string for detecting .TP .B outbuf .br Stroing inforamtion of .B inbuf. The structure of .B outbuf is follows. .nf typedef struct DetectObject { char * encoding; float confidence; } DetectObj; .fi The .B outbuf variable is must initialized by .BI detect_obj_init API before calling this detect api. .SH "RETURN VALUE" Returns following condition as case by case. .TP .B CHARDET_SUCCESS .br Detecting success .TP .B CHARDET_NO_RESULT .br Detection failure .TP .B CHARDET_NULL_OBJECT .br Don't initializing .B outbuf with .BI chardet_obj_init .TP .B CHARDET_OUT_OF_MEMORY .br Occuring .B "out of memory" at internal API .SH EXAMPLE .nf #include int main (void) { DetectObj *obj; char * checkstr = "안녕하세요"; if ( (obj = detect_obj_init ()) == NULL ) { fprintf (stderr, "Memory Allocation failed\\n"); return CHARDET_MEM_ALLOCATED_FAIL; } //switch (detect (checkstr, &obj)) switch (detect_r (checkstr, strlen (checkstr), &obj)) { case CHARDET_OUT_OF_MEMORY : fprintf (stderr, "On handle processing, occured out of memory\\n"); detect_obj_free (&obj); return CHARDET_OUT_OF_MEMORY; case CHARDET_NULL_OBJECT : fprintf (stderr, "2st argument of chardet() is must memory allocation " "with detect_obj_init API\\n"); return CHARDET_NULL_OBJECT; } # check support obj->bom with CHARDET_BOM_CHECK constant printf ("encoding: %s, confidence: %f, exists bom: %d\\n", obj->encoding, obj->confidence, obj->bom); detect_obj_free (&obj); return 0; } .fi .SH AUTHORS JoungKyun.Kim .SH "BUG REPORTS" Use QnA board on https://github.com/Joungkyun/libchardet/issues .SH "SEE ALSO" detect_handledata(3), detect_obj_init(3), detect_obj_free(3)