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

# mplist\_put(3m17n)

## NAME

mplist\_put -

## SYNOPSIS

**MPlist**\* **mplist\_put** (**MPlist** \* *plist*, MSymbol *key*, void \* *val*)

## DESCRIPTION

Set the value of a property in a property list. The **mplist\_put()** function searches property list **plist** from the beginning for a property whose key is **key**. If such a property is found, its value is changed to **value**. Otherwise, a new property whose key is **key** and value is **value** is appended at the end of **plist**. See the documentation of **mplist\_add()** for the restriction on **key** and **val**.

If **key** is a managing key, **val** must be a managed object. In this case, the reference count of the old value, if not `NULL`, is decremented by one, and that of **val** is incremented by one.

## RETURN VALUE

If the operation was successful, **mplist\_put()** returns a sublist of **plist** whose first element is the just modified or added one. Otherwise, it returns `NULL`. \

## 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\>.
