.\" Copyright (C) 2001 Information-technology Promotion Agency (IPA) .\" Copyright (C) 2001-2011 .\" National Institute of Advanced Industrial Science and Technology (AIST) .\" This file is part of the m17n library documentation. .\" Permission is granted to copy, distribute and/or modify this document .\" under the terms of the GNU Free Documentation License, Version 1.2 or .\" any later version published by the Free Software Foundation; with no .\" Invariant Section, no Front-Cover Texts, .\" and no Back-Cover Texts. A copy of the license is included in the .\" appendix entitled "GNU Free Documentation License". .TH "msymbol_put" 3m17n "Mon Sep 25 2023" "Version 1.8.4" "The m17n Library" \" -*- nroff -*- .ad l .nh .SH NAME msymbol_put \- .SH SYNOPSIS int \fBmsymbol_put\fP (MSymbol \fIsymbol\fP, MSymbol \fIkey\fP, void * \fIval\fP) .SH DESCRIPTION .PP Set the value of a symbol property\&. The .ft B msymbol_put() .ft R function assigns .ft B val .ft R to the value of the symbol property that belongs to .ft B symbol .ft R and whose key is .ft B key\fP\&. If the symbol property already has a value, .ft B val .ft R overwrites the old one\&. Both .ft B symbol .ft R and .ft B key .ft R must not be .ft B Mnil\fP\&. .PP If .ft B key .ft R is a managing key, .ft B val .ft R must be a managed object\&. In this case, the reference count of the old value, if not .ft C NULL\fP, .ft R is decremented by one, and that of .ft B val .ft R is incremented by one\&. .PP .SH RETURN VALUE .PP .RS 4 If the operation was successful, .ft B msymbol_put() .ft R returns 0\&. Otherwise it returns \-1 and assigns an error code to the external variable .ft B merror_code\fP\&. .br .RE .PP .SH ERRORS .PP .RS 4 \fCMERROR_SYMBOL .ft R .RE .PP .SH "SEE ALSO" .PP .RS 4 \fBmsymbol_get() .ft R .br .RE .PP .SH COPYRIGHT Copyright (C) 2001 Information\-technology Promotion Agency (IPA) .br Copyright (C) 2001\-2011 National Institute of Advanced Industrial Science and Technology (AIST) .br Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License .