<!-- $XConsortium: StrCoE.sgm /main/8 1996/09/08 21:03:37 rws $ -->
<!-- (c) Copyright 1995 Digital Equipment Corporation. -->
<!-- (c) Copyright 1995 Hewlett-Packard Company. -->
<!-- (c) Copyright 1995 International Business Machines Corp. -->
<!-- (c) Copyright 1995 Sun Microsystems, Inc. -->
<!-- (c) Copyright 1995 Novell, Inc. -->
<!-- (c) Copyright 1995 FUJITSU LIMITED. -->
<!-- (c) Copyright 1995 Hitachi. -->

<RefEntry Id="CDEMMA.MAN410.rsml.1">
<RefMeta>
<RefEntryTitle>XmStringConcatAndFree</RefEntryTitle>
<ManVolNum>library call</ManVolNum>
</RefMeta>
<RefNameDiv>
<RefName><Function>XmStringConcatAndFree</Function></RefName>
<RefPurpose>A compound string function that appends one string to another and frees the original strings
<IndexTerm>
<Primary>XmStringConcatAndFree</Primary>
</IndexTerm><IndexTerm>
<Primary>compound string functions</Primary>
<Secondary>XmStringConcatAndFree</Secondary>
</IndexTerm></RefPurpose>
</RefNameDiv>
<!-- COPYRIGHT NOTICE-->
<!-- Copyright (c) 1990, 1991, 1992, 1993 Open Software Foundation, Inc.-->
<!-- ALL RIGHTS RESERVED (MOTIF). See the file named COPY.MOTIF.DOC for-->
<!-- the full copyright text.-->
<!-- -->
<!-- -->
<!-- HISTORY-->
<!-- -->
<!-- **-->
<!-- **-->
<!-- **  (c) Copyright 1989, 1990, 1992 by Open Software Foundation, Inc.-->
<!-- **      All Rights Reserved.-->
<!-- **-->
<!-- **  (c) Copyright 1987, 1988, 1989, by Hewlett-Packard Company-->
<!-- **-->
<!-- **  (c) Copyright 1987, 1988 by Digital Equipment Corporation,-->
<!-- **      Maynard, MA.  All Rights Reserved.-->
<!-- **-->
<!-- **-->
<RefSynopsisDiv>
<FuncSynopsis>
<FuncSynopsisInfo>#include &lt;Xm/Xm.h>
</FuncSynopsisInfo>
<FuncDef>XmString <Function>XmStringConcatAndFree</Function></FuncDef>
<!--<ParamDef><Replaceable>s1, s2</Replaceable></ParamDef>-->
<ParamDef>XmString <Parameter>s1</Parameter></ParamDef>
<ParamDef>XmString <Parameter>s2</Parameter></ParamDef>
</FuncSynopsis>
</RefSynopsisDiv>
<RefSect1>
<Title>DESCRIPTION</Title>
<Para><Function>XmStringConcatAndFree</Function> copies <Symbol Role="Variable">s2</Symbol> to the end of <Symbol Role="Variable">s1</Symbol> and returns
a copy of the resulting compound string. The original strings are freed.
The function will allocate space to hold the returned compound string.
The application is responsible for managing the allocated space.
The application can recover the allocated space by calling <Function>XmStringFree</Function>.
</Para>
<VariableList>
<VarListEntry>
<Term><Symbol Role="Variable">s1</Symbol></Term>
<ListItem>
<Para>Specifies the compound string to which a copy of <Symbol Role="Variable">s2</Symbol> is appended
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><Symbol Role="Variable">s2</Symbol></Term>
<ListItem>
<Para>Specifies the compound string that is appended to the end of <Symbol Role="Variable">s1</Symbol>
</Para>
</ListItem>
</VarListEntry>
</VariableList>
<Para>The <Function>XmStringConcatAndFree</Function> function works like the
<Function>XmStringConcat</Function> function, except that it frees the <Symbol Role="Variable">s1</Symbol> and
<Symbol Role="Variable">s2</Symbol> strings, and is therefore more efficient. You should use
<Function>XmStringConcatAndFree</Function> instead of <Function>XmStringConcat</Function> if you
want <Symbol Role="Variable">s1</Symbol> and <Symbol Role="Variable">s2</Symbol> to be freed afterwards.
</Para>
</RefSect1>
<RefSect1>
<Title>RETURN</Title>
<Para>Returns a new compound string.
</Para>
</RefSect1>
<RefSect1>
<Title>RELATED</Title>
<Para>&cdeman.XmStringConcat;,
&cdeman.XmStringCreate;, and
&cdeman.XmStringFree;.
</Para>
</RefSect1>
</RefEntry>
<!--fickle 1.09 7/2/95-->
