---
name: "duplocale"
section: "3"
platform: "macos"
package: "Libc"
version: "1752.120.2"
release: "macOS 26.5"
platforms: ["linux", "freebsd", "macos"]
url: "https://new.carta.tech/duplocale"
---

# duplocale(3)

Duplicate existing locale

## NAME

**duplocale** – Duplicate existing locale

## SYNOPSIS

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

*locale\_t*\

**duplocale**(*locale\_t loc*);

## DESCRIPTION

Duplicates an existing *locale\_t*. Sub-structures are shared between the two *locale\_t* structures. Passing NULL will duplicate the current locale. Passing LC\_GLOBAL\_LOCALE will duplicate the global locale.

## RETURN VALUES

Returns a duplicated *locale\_t*, or NULL on error. Duplicated locales should be freed with [freelocale(3)](/freelocale/3.md).

## SEE ALSO

[freelocale(3)](/freelocale/3.md), [newlocale(3)](/newlocale/3.md), [querylocale(3)](/querylocale/3.md), [uselocale(3)](/uselocale/3.md), [xlocale(3)](/xlocale/3.md)
