---
name: "detect_destroy"
section: "3"
platform: "linux"
package: "libchardet"
version: "1.0.6-4"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/detect_destroy"
---

# detect\_destroy(3)

free Detector structure

## NAME

detect\_destroy - free Detector structure

## SYNOPSIS

**#include \<chardet.h\>**

**void detect\_destroy (Detect \*\* handle);**

## DESCRIPTION

Free resource that allocated by **detect\_init** api.

## RETURN VALUE

void

## EXAMPLE

```
#include <chardet.h>
int main (void) {
	Detect    * d;
	DetectObj * obj;
	if ( (d = detect_init ()) == NULL ) {
		fprintf (stderr, "chardet handle initialize failed\n");
		return CHARDET_MEM_ALLOCATED_FAIL;
	}
	detect_reset (&d);
	if ( (obj = detect_obj_init ()) == NULL ) {
		fprintf (stderr, "Memory Allocation failed\n");
		return CHARDET_MEM_ALLOCATED_FAIL;
	}
	switch (detect_handledata (&d, "안녕하세요", &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,
					"3st argument of chardet_handledata() 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);
	detect_destroy (&d);
    return 0;
}
```

## AUTHORS

JoungKyun.Kim \<http://oops.org\>

## BUG REPORTS

Use QnA board on https://github.com/Joungkyun/libchardet/issues

## SEE ALSO

[detect\_init(3)](/detect_init/3.md), [detect\_reset(3)](/detect_reset/3.md)
