---
name: "mchartable_map"
section: "3m17n"
platform: "linux"
package: "m17n-docs"
version: "1.8.4-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/mchartable_map"
---

# mchartable\_map(3m17n)

## NAME

mchartable\_map -

## SYNOPSIS

int **mchartable\_map** (**MCharTable** \* *table*, void \* *ignore*, void(\*)(int, *int*, void \*, void \*) *func*, void \* *func\_arg*)

## DESCRIPTION

Call a function for characters in a chartable. The **mchartable\_map()** function calls function **func** for characters in chartable **table**. No function call occurs for characters that have value **ignore** in **table**. Comparison of **ignore** and character value is done with the operator `==`. Be careful when you use string literals or pointers.

Instead of calling **func** for each character, **mchartable\_map()** tries to optimize the number of function calls, i.e. it makes a single function call for a chunk of characters when those consecutive characters have the same value.

No matter how long the character chunk is, **func** is called with four arguments; **from**, **to**, **val**, and **arg**. **from** and **to** (both inclusive) defines the range of characters that have value **val**. **arg** is the same as **func\_arg**.

## RETURN VALUE

This function always returns 0. \

## COPYRIGHT

Copyright (C) 2001 Information-technology Promotion Agency (IPA)\
 Copyright (C) 2001-2011 National Institute of Advanced Industrial Science and Technology (AIST)\
 Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License  \<http://www.gnu.org/licenses/fdl.html\>.
