<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.8.1.1">
  <compounddef id="cds__dims_8c" kind="file">
    <compoundname>cds_dims.c</compoundname>
    <includes refid="cds3_8h" local="yes">cds3.h</includes>
    <includes refid="cds__private_8h" local="yes">cds_private.h</includes>
    <incdepgraph>
      <node id="80">
        <label>stdarg.h</label>
      </node>
      <node id="84">
        <label>cds_private.h</label>
        <link refid="cds__private_8h"/>
        <childnode refid="75" relation="include">
        </childnode>
      </node>
      <node id="76">
        <label>stdlib.h</label>
      </node>
      <node id="79">
        <label>limits.h</label>
      </node>
      <node id="82">
        <label>sys/types.h</label>
      </node>
      <node id="77">
        <label>string.h</label>
      </node>
      <node id="75">
        <label>cds3.h</label>
        <link refid="cds3_8h"/>
        <childnode refid="76" relation="include">
        </childnode>
        <childnode refid="77" relation="include">
        </childnode>
        <childnode refid="78" relation="include">
        </childnode>
        <childnode refid="79" relation="include">
        </childnode>
        <childnode refid="80" relation="include">
        </childnode>
        <childnode refid="81" relation="include">
        </childnode>
        <childnode refid="82" relation="include">
        </childnode>
        <childnode refid="83" relation="include">
        </childnode>
      </node>
      <node id="74">
        <label>cds_dims.c</label>
        <link refid="cds_dims.c"/>
        <childnode refid="75" relation="include">
        </childnode>
        <childnode refid="84" relation="include">
        </childnode>
      </node>
      <node id="83">
        <label>time.h</label>
      </node>
      <node id="78">
        <label>messenger.h</label>
      </node>
      <node id="81">
        <label>stdio.h</label>
      </node>
    </incdepgraph>
      <sectiondef kind="func">
      <memberdef kind="function" id="cds__dims_8c_1a8b4b5bd44e96e3ab91914c7924173681" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="structCDSDim" kindref="compound">CDSDim</ref> *</type>
        <definition>CDSDim* _cds_create_dim</definition>
        <argsstring>(CDSGroup *group, const char *name, size_t length, int is_unlimited)</argsstring>
        <name>_cds_create_dim</name>
        <param>
          <type><ref refid="structCDSGroup" kindref="compound">CDSGroup</ref> *</type>
          <declname>group</declname>
        </param>
        <param>
          <type>const char *</type>
          <declname>name</declname>
        </param>
        <param>
          <type>size_t</type>
          <declname>length</declname>
        </param>
        <param>
          <type>int</type>
          <declname>is_unlimited</declname>
        </param>
        <briefdescription>
<para>PRIVATE: Create a CDS Dimension. </para>        </briefdescription>
        <detaileddescription>
<para>Private function used to create a dimension.</para><para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>group</parametername>
</parameternamelist>
<parameterdescription>
<para>- pointer to the parent group </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>name</parametername>
</parameternamelist>
<parameterdescription>
<para>- dimension name </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>length</parametername>
</parameternamelist>
<parameterdescription>
<para>- dimension length (ignored if is_unlimited == TRUE) </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>is_unlimited</parametername>
</parameternamelist>
<parameterdescription>
<para>- specifies if this dimension is unlimited (0 = FALSE, 1 = TRUE) </para></parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para><itemizedlist>
<listitem><para>a new dimension</para></listitem><listitem><para>NULL if a memory allocation error occurred </para></listitem></itemizedlist>
</para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/ermold/dev/Linux-x86_64-el6/afl/src/libcds3/cds_dims.c" line="57" bodyfile="/home/ermold/dev/Linux-x86_64-el6/afl/src/libcds3/cds_dims.c" bodystart="52" bodyend="74"/>
      </memberdef>
      <memberdef kind="function" id="cds__dims_8c_1a0371a6d5313db1084d884a39fb59c9c9" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void _cds_destroy_dim</definition>
        <argsstring>(CDSDim *dim)</argsstring>
        <name>_cds_destroy_dim</name>
        <param>
          <type><ref refid="structCDSDim" kindref="compound">CDSDim</ref> *</type>
          <declname>dim</declname>
        </param>
        <briefdescription>
<para>PRIVATE: Destroy a CDS Dimension. </para>        </briefdescription>
        <detaileddescription>
<para>Private function used to destroy a dimension.</para><para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>dim</parametername>
</parameternamelist>
<parameterdescription>
<para>- pointer to the dimension </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/ermold/dev/Linux-x86_64-el6/afl/src/libcds3/cds_dims.c" line="84" bodyfile="/home/ermold/dev/Linux-x86_64-el6/afl/src/libcds3/cds_dims.c" bodystart="83" bodyend="89"/>
      </memberdef>
      <memberdef kind="function" id="cds__dims_8c_1a594979e2eabb70c9df4d06e53d6d85bd" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int _cds_is_dim_used</definition>
        <argsstring>(CDSGroup *group, CDSDim *dim)</argsstring>
        <name>_cds_is_dim_used</name>
        <param>
          <type><ref refid="structCDSGroup" kindref="compound">CDSGroup</ref> *</type>
          <declname>group</declname>
        </param>
        <param>
          <type><ref refid="structCDSDim" kindref="compound">CDSDim</ref> *</type>
          <declname>dim</declname>
        </param>
        <briefdescription>
<para>PRIVATE: Check if a CDS Dimension is in use. </para>        </briefdescription>
        <detaileddescription>
<para>Private function used to check if data has been added to a variable using this dimension.</para><para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>group</parametername>
</parameternamelist>
<parameterdescription>
<para>- pointer to the group the dimension belongs to </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>dim</parametername>
</parameternamelist>
<parameterdescription>
<para>- pointer to the dimension</para></parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para><itemizedlist>
<listitem><para>1 if the dimension is being used</para></listitem><listitem><para>0 if the dimesnion is not being used. </para></listitem></itemizedlist>
</para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/ermold/dev/Linux-x86_64-el6/afl/src/libcds3/cds_dims.c" line="105" bodyfile="/home/ermold/dev/Linux-x86_64-el6/afl/src/libcds3/cds_dims.c" bodystart="104" bodyend="131"/>
      </memberdef>
      <memberdef kind="function" id="cds__dims_8c_1ae6c70ce255276412efbc314cf7e7ca36" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void _cds_delete_dependant_vars</definition>
        <argsstring>(CDSGroup *group, CDSDim *dim)</argsstring>
        <name>_cds_delete_dependant_vars</name>
        <param>
          <type><ref refid="structCDSGroup" kindref="compound">CDSGroup</ref> *</type>
          <declname>group</declname>
        </param>
        <param>
          <type><ref refid="structCDSDim" kindref="compound">CDSDim</ref> *</type>
          <declname>dim</declname>
        </param>
        <briefdescription>
<para>PRIVATE: Delete dependant variables. </para>        </briefdescription>
        <detaileddescription>
<para>Private function used to delete all variables that use the specifed dimension.</para><para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>group</parametername>
</parameternamelist>
<parameterdescription>
<para>- pointer to the group the dimension belongs to </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>dim</parametername>
</parameternamelist>
<parameterdescription>
<para>- pointer to the dimension </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/ermold/dev/Linux-x86_64-el6/afl/src/libcds3/cds_dims.c" line="143" bodyfile="/home/ermold/dev/Linux-x86_64-el6/afl/src/libcds3/cds_dims.c" bodystart="142" bodyend="166"/>
      </memberdef>
      <memberdef kind="function" id="group__CDS__DIMS_1ga72b7ad6c97deb48d8b62f36c9e408a77" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int cds_change_dim_length</definition>
        <argsstring>(CDSDim *dim, size_t length)</argsstring>
        <name>cds_change_dim_length</name>
        <param>
          <type><ref refid="structCDSDim" kindref="compound">CDSDim</ref> *</type>
          <declname>dim</declname>
        </param>
        <param>
          <type>size_t</type>
          <declname>length</declname>
        </param>
        <briefdescription>
<para>Change the length of a CDS Dimension. </para>        </briefdescription>
        <detaileddescription>
<para>Error messages from this function are sent to the message handler (see <ref refid="group__MESSENGER_1ga37ec694307e2106c11a3d8d20796619a" kindref="member" external="libmsngr.tag">msngr_init_log()</ref> and <ref refid="group__MESSENGER_1gab043cf677c2e64ce2ca2bc829f7e1dbe" kindref="member" external="libmsngr.tag">msngr_init_mail()</ref>).</para><para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>dim</parametername>
</parameternamelist>
<parameterdescription>
<para>- pointer to the dimension </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>length</parametername>
</parameternamelist>
<parameterdescription>
<para>- new dimension length</para></parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para><itemizedlist>
<listitem><para>1 if:<itemizedlist>
<listitem><para>the dimension length was changed</para></listitem><listitem><para>the new length was equal to the old length</para></listitem><listitem><para>this is an unlimited dimension</para></listitem></itemizedlist>
</para></listitem><listitem><para>0 if:<itemizedlist>
<listitem><para>the dimension is locked</para></listitem><listitem><para>data has already been added to a variable using this dimension </para></listitem></itemizedlist>
</para></listitem></itemizedlist>
</para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/ermold/dev/Linux-x86_64-el6/afl/src/libcds3/cds_dims.c" line="192" bodyfile="/home/ermold/dev/Linux-x86_64-el6/afl/src/libcds3/cds_dims.c" bodystart="191" bodyend="238"/>
      </memberdef>
      <memberdef kind="function" id="group__CDS__DIMS_1gaf4dd688adb9488307fdd1e03409fff4f" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="structCDSDim" kindref="compound">CDSDim</ref> *</type>
        <definition>CDSDim* cds_define_dim</definition>
        <argsstring>(CDSGroup *group, const char *name, size_t length, int is_unlimited)</argsstring>
        <name>cds_define_dim</name>
        <param>
          <type><ref refid="structCDSGroup" kindref="compound">CDSGroup</ref> *</type>
          <declname>group</declname>
        </param>
        <param>
          <type>const char *</type>
          <declname>name</declname>
        </param>
        <param>
          <type>size_t</type>
          <declname>length</declname>
        </param>
        <param>
          <type>int</type>
          <declname>is_unlimited</declname>
        </param>
        <briefdescription>
<para>Define a CDS Dimension. </para>        </briefdescription>
        <detaileddescription>
<para>This function will first check if a dimension with the same definition already exists in the specified group. If it does, the existing dimension will be returned.</para><para>Error messages from this function are sent to the message handler (see <ref refid="group__MESSENGER_1ga37ec694307e2106c11a3d8d20796619a" kindref="member" external="libmsngr.tag">msngr_init_log()</ref> and <ref refid="group__MESSENGER_1gab043cf677c2e64ce2ca2bc829f7e1dbe" kindref="member" external="libmsngr.tag">msngr_init_mail()</ref>).</para><para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>group</parametername>
</parameternamelist>
<parameterdescription>
<para>- pointer to the group </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>name</parametername>
</parameternamelist>
<parameterdescription>
<para>- dimension name </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>length</parametername>
</parameternamelist>
<parameterdescription>
<para>- dimension length </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>is_unlimited</parametername>
</parameternamelist>
<parameterdescription>
<para>- is dimension unlimited (0 = FALSE, 1 = TRUE)</para></parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para><itemizedlist>
<listitem><para>pointer to the dimension</para></listitem><listitem><para>NULL if:<itemizedlist>
<listitem><para>a static dimension with the same name but different length has already been defined for the specified group.</para></listitem><listitem><para>the group is locked</para></listitem><listitem><para>a memory allocation error occurred </para></listitem></itemizedlist>
</para></listitem></itemizedlist>
</para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/ermold/dev/Linux-x86_64-el6/afl/src/libcds3/cds_dims.c" line="268" bodyfile="/home/ermold/dev/Linux-x86_64-el6/afl/src/libcds3/cds_dims.c" bodystart="263" bodyend="341"/>
      </memberdef>
      <memberdef kind="function" id="group__CDS__DIMS_1gad4f319471292b3b43810bb0a77f8adfc" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int cds_delete_dim</definition>
        <argsstring>(CDSDim *dim)</argsstring>
        <name>cds_delete_dim</name>
        <param>
          <type><ref refid="structCDSDim" kindref="compound">CDSDim</ref> *</type>
          <declname>dim</declname>
        </param>
        <briefdescription>
<para>Delete a CDS Dimension. </para>        </briefdescription>
        <detaileddescription>
<para>This function will also delete all variables that use the specified dimension.</para><para>Error messages from this function are sent to the message handler (see <ref refid="group__MESSENGER_1ga37ec694307e2106c11a3d8d20796619a" kindref="member" external="libmsngr.tag">msngr_init_log()</ref> and <ref refid="group__MESSENGER_1gab043cf677c2e64ce2ca2bc829f7e1dbe" kindref="member" external="libmsngr.tag">msngr_init_mail()</ref>).</para><para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>dim</parametername>
</parameternamelist>
<parameterdescription>
<para>- pointer to the dimension</para></parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para><itemizedlist>
<listitem><para>1 if the dimension was deleted</para></listitem><listitem><para>0 if:<itemizedlist>
<listitem><para>the dimension is locked</para></listitem><listitem><para>the group is locked </para></listitem></itemizedlist>
</para></listitem></itemizedlist>
</para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/ermold/dev/Linux-x86_64-el6/afl/src/libcds3/cds_dims.c" line="361" bodyfile="/home/ermold/dev/Linux-x86_64-el6/afl/src/libcds3/cds_dims.c" bodystart="360" bodyend="401"/>
      </memberdef>
      <memberdef kind="function" id="group__CDS__DIMS_1gac7708a2ede68b01310a7881757a409ca" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="structCDSDim" kindref="compound">CDSDim</ref> *</type>
        <definition>CDSDim* cds_get_dim</definition>
        <argsstring>(CDSGroup *group, const char *name)</argsstring>
        <name>cds_get_dim</name>
        <param>
          <type><ref refid="structCDSGroup" kindref="compound">CDSGroup</ref> *</type>
          <declname>group</declname>
        </param>
        <param>
          <type>const char *</type>
          <declname>name</declname>
        </param>
        <briefdescription>
<para>Get a CDS Dimension. </para>        </briefdescription>
        <detaileddescription>
<para>This function will search the specified group then and all ancestor groups for a dimension with the specified name. The first dimension found will be returned.</para><para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>group</parametername>
</parameternamelist>
<parameterdescription>
<para>- pointer to the group </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>name</parametername>
</parameternamelist>
<parameterdescription>
<para>- name of the dimension</para></parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para><itemizedlist>
<listitem><para>pointer to the dimension</para></listitem><listitem><para>NULL if not found </para></listitem></itemizedlist>
</para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/ermold/dev/Linux-x86_64-el6/afl/src/libcds3/cds_dims.c" line="418" bodyfile="/home/ermold/dev/Linux-x86_64-el6/afl/src/libcds3/cds_dims.c" bodystart="417" bodyend="428"/>
      </memberdef>
      <memberdef kind="function" id="group__CDS__DIMS_1gacb760a7fa46c61012805dc09b055c78c" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="structCDSVar" kindref="compound">CDSVar</ref> *</type>
        <definition>CDSVar* cds_get_dim_var</definition>
        <argsstring>(CDSDim *dim)</argsstring>
        <name>cds_get_dim_var</name>
        <param>
          <type><ref refid="structCDSDim" kindref="compound">CDSDim</ref> *</type>
          <declname>dim</declname>
        </param>
        <briefdescription>
<para>Get the coordinate variable for a CDS Dimension. </para>        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>dim</parametername>
</parameternamelist>
<parameterdescription>
<para>- pointer to the dimension</para></parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para><itemizedlist>
<listitem><para>pointer to the coordinate variable</para></listitem><listitem><para>NULL if not found </para></listitem></itemizedlist>
</para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/ermold/dev/Linux-x86_64-el6/afl/src/libcds3/cds_dims.c" line="440" bodyfile="/home/ermold/dev/Linux-x86_64-el6/afl/src/libcds3/cds_dims.c" bodystart="439" bodyend="442"/>
      </memberdef>
      <memberdef kind="function" id="group__CDS__DIMS_1ga81f95ad993db18525720f62a3f09207e" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int cds_rename_dim</definition>
        <argsstring>(CDSDim *dim, const char *name)</argsstring>
        <name>cds_rename_dim</name>
        <param>
          <type><ref refid="structCDSDim" kindref="compound">CDSDim</ref> *</type>
          <declname>dim</declname>
        </param>
        <param>
          <type>const char *</type>
          <declname>name</declname>
        </param>
        <briefdescription>
<para>Rename a CDS Dimension. </para>        </briefdescription>
        <detaileddescription>
<para>This function will also rename the coordinate variable for the dimension if one exists.</para><para>Error messages from this function are sent to the message handler (see <ref refid="group__MESSENGER_1ga37ec694307e2106c11a3d8d20796619a" kindref="member" external="libmsngr.tag">msngr_init_log()</ref> and <ref refid="group__MESSENGER_1gab043cf677c2e64ce2ca2bc829f7e1dbe" kindref="member" external="libmsngr.tag">msngr_init_mail()</ref>).</para><para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>dim</parametername>
</parameternamelist>
<parameterdescription>
<para>- pointer to the dimension </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>name</parametername>
</parameternamelist>
<parameterdescription>
<para>- pointer to the new dimension name</para></parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para><itemizedlist>
<listitem><para>1 if the dimension was deleted</para></listitem><listitem><para>0 if:<itemizedlist>
<listitem><para>a dimension with the new name already exists</para></listitem><listitem><para>the dimension is locked</para></listitem><listitem><para>the group is locked</para></listitem><listitem><para>the coordinate variable could not be renamed (see <ref refid="group__CDS__VARS_1ga43cb1420fc3f29c01a0cf519682f773e" kindref="member">cds_rename_var()</ref>)</para></listitem><listitem><para>a memory allocation error occured </para></listitem></itemizedlist>
</para></listitem></itemizedlist>
</para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/ermold/dev/Linux-x86_64-el6/afl/src/libcds3/cds_dims.c" line="466" bodyfile="/home/ermold/dev/Linux-x86_64-el6/afl/src/libcds3/cds_dims.c" bodystart="465" bodyend="535"/>
      </memberdef>
      </sectiondef>
    <briefdescription>
<para>CDS Dimensions. </para>    </briefdescription>
    <detaileddescription>
    </detaileddescription>
    <programlisting>
<codeline lineno="1"><highlight class="comment">/*******************************************************************************</highlight></codeline>
<codeline lineno="2"><highlight class="comment">*</highlight></codeline>
<codeline lineno="3"><highlight class="comment">*<sp/><sp/>COPYRIGHT<sp/>(C)<sp/>2010<sp/>Battelle<sp/>Memorial<sp/>Institute.<sp/><sp/>All<sp/>Rights<sp/>Reserved.</highlight></codeline>
<codeline lineno="4"><highlight class="comment">*</highlight></codeline>
<codeline lineno="5"><highlight class="comment">********************************************************************************</highlight></codeline>
<codeline lineno="6"><highlight class="comment">*</highlight></codeline>
<codeline lineno="7"><highlight class="comment">*<sp/><sp/>Author:</highlight></codeline>
<codeline lineno="8"><highlight class="comment">*<sp/><sp/><sp/><sp/><sp/>name:<sp/><sp/>Brian<sp/>Ermold</highlight></codeline>
<codeline lineno="9"><highlight class="comment">*<sp/><sp/><sp/><sp/><sp/>phone:<sp/>(509)<sp/>375-2277</highlight></codeline>
<codeline lineno="10"><highlight class="comment">*<sp/><sp/><sp/><sp/><sp/>email:<sp/>brian.ermold@pnl.gov</highlight></codeline>
<codeline lineno="11"><highlight class="comment">*</highlight></codeline>
<codeline lineno="12"><highlight class="comment">********************************************************************************</highlight></codeline>
<codeline lineno="13"><highlight class="comment">*</highlight></codeline>
<codeline lineno="14"><highlight class="comment">*<sp/><sp/>REPOSITORY<sp/>INFORMATION:</highlight></codeline>
<codeline lineno="15"><highlight class="comment">*<sp/><sp/><sp/><sp/>$Revision:<sp/>9749<sp/>$</highlight></codeline>
<codeline lineno="16"><highlight class="comment">*<sp/><sp/><sp/><sp/>$Author:<sp/>ermold<sp/>$</highlight></codeline>
<codeline lineno="17"><highlight class="comment">*<sp/><sp/><sp/><sp/>$Date:<sp/>2011-12-01<sp/>20:22:48<sp/>+0000<sp/>(Thu,<sp/>01<sp/>Dec<sp/>2011)<sp/>$</highlight></codeline>
<codeline lineno="18"><highlight class="comment">*</highlight></codeline>
<codeline lineno="19"><highlight class="comment">********************************************************************************</highlight></codeline>
<codeline lineno="20"><highlight class="comment">*</highlight></codeline>
<codeline lineno="21"><highlight class="comment">*<sp/><sp/>NOTE:<sp/>DOXYGEN<sp/>is<sp/>used<sp/>to<sp/>generate<sp/>documentation<sp/>for<sp/>this<sp/>file.</highlight></codeline>
<codeline lineno="22"><highlight class="comment">*</highlight></codeline>
<codeline lineno="23"><highlight class="comment">*******************************************************************************/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="24"><highlight class="normal"></highlight><highlight class="comment"></highlight></codeline>
<codeline lineno="25"><highlight class="comment">/**<sp/>@file<sp/>cds_dims.c</highlight></codeline>
<codeline lineno="26"><highlight class="comment"><sp/>*<sp/><sp/>CDS<sp/>Dimensions.</highlight></codeline>
<codeline lineno="27"><highlight class="comment"><sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="28"><highlight class="normal"></highlight></codeline>
<codeline lineno="29"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&quot;<ref refid="cds3_8h" kindref="compound" tooltip="CDS Library Header File.">cds3.h</ref>&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="30"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&quot;<ref refid="cds__private_8h" kindref="compound" tooltip="Private CDS Functions.">cds_private.h</ref>&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="31"><highlight class="normal"></highlight></codeline>
<codeline lineno="32"><highlight class="normal"></highlight><highlight class="comment">/*******************************************************************************</highlight></codeline>
<codeline lineno="33"><highlight class="comment"><sp/>*<sp/><sp/>Private<sp/>Functions</highlight></codeline>
<codeline lineno="34"><highlight class="comment"><sp/>*/</highlight><highlight class="comment"></highlight></codeline>
<codeline lineno="35"><highlight class="comment">/**<sp/>@privatesection<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="36"><highlight class="normal"></highlight><highlight class="comment"></highlight></codeline>
<codeline lineno="37"><highlight class="comment">/**</highlight></codeline>
<codeline lineno="38"><highlight class="comment"><sp/>*<sp/><sp/>PRIVATE:<sp/>Create<sp/>a<sp/>CDS<sp/>Dimension.</highlight></codeline>
<codeline lineno="39"><highlight class="comment"><sp/>*</highlight></codeline>
<codeline lineno="40"><highlight class="comment"><sp/>*<sp/><sp/>Private<sp/>function<sp/>used<sp/>to<sp/>create<sp/>a<sp/>dimension.</highlight></codeline>
<codeline lineno="41"><highlight class="comment"><sp/>*</highlight></codeline>
<codeline lineno="42"><highlight class="comment"><sp/>*<sp/><sp/>@param<sp/><sp/>group<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>-<sp/>pointer<sp/>to<sp/>the<sp/>parent<sp/>group</highlight></codeline>
<codeline lineno="43"><highlight class="comment"><sp/>*<sp/><sp/>@param<sp/><sp/>name<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>-<sp/>dimension<sp/>name</highlight></codeline>
<codeline lineno="44"><highlight class="comment"><sp/>*<sp/><sp/>@param<sp/><sp/>length<sp/><sp/><sp/><sp/><sp/><sp/><sp/>-<sp/>dimension<sp/>length</highlight></codeline>
<codeline lineno="45"><highlight class="comment"><sp/>*<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>(ignored<sp/>if<sp/>is_unlimited<sp/>==<sp/>TRUE)</highlight></codeline>
<codeline lineno="46"><highlight class="comment"><sp/>*<sp/><sp/>@param<sp/><sp/>is_unlimited<sp/>-<sp/>specifies<sp/>if<sp/>this<sp/>dimension<sp/>is<sp/>unlimited</highlight></codeline>
<codeline lineno="47"><highlight class="comment"><sp/>*<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>(0<sp/>=<sp/>FALSE,<sp/>1<sp/>=<sp/>TRUE)</highlight></codeline>
<codeline lineno="48"><highlight class="comment"><sp/>*<sp/><sp/>@return</highlight></codeline>
<codeline lineno="49"><highlight class="comment"><sp/>*<sp/><sp/><sp/><sp/>-<sp/>a<sp/>new<sp/>dimension</highlight></codeline>
<codeline lineno="50"><highlight class="comment"><sp/>*<sp/><sp/><sp/><sp/>-<sp/>NULL<sp/>if<sp/>a<sp/>memory<sp/>allocation<sp/>error<sp/>occurred</highlight></codeline>
<codeline lineno="51"><highlight class="comment"><sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="52"><highlight class="normal"><ref refid="structCDSDim" kindref="compound" tooltip="CDS Dimension.">CDSDim</ref><sp/>*_cds_create_dim(</highlight></codeline>
<codeline lineno="53"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="structCDSGroup" kindref="compound" tooltip="CDS Group.">CDSGroup</ref><sp/><sp/><sp/>*group,</highlight></codeline>
<codeline lineno="54"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*name,</highlight></codeline>
<codeline lineno="55"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">size_t</highlight><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>length,</highlight></codeline>
<codeline lineno="56"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>is_unlimited)</highlight></codeline>
<codeline lineno="57"><highlight class="normal">{</highlight></codeline>
<codeline lineno="58"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="structCDSDim" kindref="compound" tooltip="CDS Dimension.">CDSDim</ref><sp/>*dim;</highlight></codeline>
<codeline lineno="59"><highlight class="normal"></highlight></codeline>
<codeline lineno="60"><highlight class="normal"><sp/><sp/><sp/><sp/>dim<sp/>=<sp/>(<ref refid="structCDSDim" kindref="compound" tooltip="CDS Dimension.">CDSDim</ref><sp/>*)calloc(1,<sp/></highlight><highlight class="keyword">sizeof</highlight><highlight class="normal">(<ref refid="structCDSDim" kindref="compound" tooltip="CDS Dimension.">CDSDim</ref>));</highlight></codeline>
<codeline lineno="61"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!dim)<sp/>{</highlight></codeline>
<codeline lineno="62"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal">((<ref refid="structCDSDim" kindref="compound" tooltip="CDS Dimension.">CDSDim</ref><sp/>*)NULL);</highlight></codeline>
<codeline lineno="63"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="64"><highlight class="normal"></highlight></codeline>
<codeline lineno="65"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!_cds_init_object_members(dim,<sp/><ref refid="group__CDSObject_1gga79150003e74aaf418ddf7db96851cedaa3397db30708cee764e4e3f8d33cae2f4" kindref="member" tooltip="CDS Dimension.">CDS_DIM</ref>,<sp/>group,<sp/>name))<sp/>{</highlight></codeline>
<codeline lineno="66"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>free(dim);</highlight></codeline>
<codeline lineno="67"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal">((<ref refid="structCDSDim" kindref="compound" tooltip="CDS Dimension.">CDSDim</ref><sp/>*)NULL);</highlight></codeline>
<codeline lineno="68"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="69"><highlight class="normal"></highlight></codeline>
<codeline lineno="70"><highlight class="normal"><sp/><sp/><sp/><sp/>dim-&gt;<ref refid="structCDSDim_1a42e561ae4b4001dfa84bdb80150c07e6" kindref="member" tooltip="dimension length">length</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/>=<sp/>(is_unlimited)<sp/>?<sp/>0<sp/>:<sp/>length;</highlight></codeline>
<codeline lineno="71"><highlight class="normal"><sp/><sp/><sp/><sp/>dim-&gt;<ref refid="structCDSDim_1ab4f7e829f64f1ee019752443045c4d8a" kindref="member" tooltip="is unlimited flag (0 = FALSE, 1 = TRUE)">is_unlimited</ref><sp/>=<sp/>is_unlimited;</highlight></codeline>
<codeline lineno="72"><highlight class="normal"></highlight></codeline>
<codeline lineno="73"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal">(dim);</highlight></codeline>
<codeline lineno="74"><highlight class="normal">}</highlight></codeline>
<codeline lineno="75"><highlight class="normal"></highlight><highlight class="comment"></highlight></codeline>
<codeline lineno="76"><highlight class="comment">/**</highlight></codeline>
<codeline lineno="77"><highlight class="comment"><sp/>*<sp/><sp/>PRIVATE:<sp/>Destroy<sp/>a<sp/>CDS<sp/>Dimension.</highlight></codeline>
<codeline lineno="78"><highlight class="comment"><sp/>*</highlight></codeline>
<codeline lineno="79"><highlight class="comment"><sp/>*<sp/><sp/>Private<sp/>function<sp/>used<sp/>to<sp/>destroy<sp/>a<sp/>dimension.</highlight></codeline>
<codeline lineno="80"><highlight class="comment"><sp/>*</highlight></codeline>
<codeline lineno="81"><highlight class="comment"><sp/>*<sp/><sp/>@param<sp/><sp/>dim<sp/>-<sp/>pointer<sp/>to<sp/>the<sp/>dimension</highlight></codeline>
<codeline lineno="82"><highlight class="comment"><sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="83"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>_cds_destroy_dim(<ref refid="structCDSDim" kindref="compound" tooltip="CDS Dimension.">CDSDim</ref><sp/>*dim)</highlight></codeline>
<codeline lineno="84"><highlight class="normal">{</highlight></codeline>
<codeline lineno="85"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(dim)<sp/>{</highlight></codeline>
<codeline lineno="86"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>_cds_free_object_members(dim);</highlight></codeline>
<codeline lineno="87"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>free(dim);</highlight></codeline>
<codeline lineno="88"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="89"><highlight class="normal">}</highlight></codeline>
<codeline lineno="90"><highlight class="normal"></highlight><highlight class="comment"></highlight></codeline>
<codeline lineno="91"><highlight class="comment">/**</highlight></codeline>
<codeline lineno="92"><highlight class="comment"><sp/>*<sp/><sp/>PRIVATE:<sp/>Check<sp/>if<sp/>a<sp/>CDS<sp/>Dimension<sp/>is<sp/>in<sp/>use.</highlight></codeline>
<codeline lineno="93"><highlight class="comment"><sp/>*</highlight></codeline>
<codeline lineno="94"><highlight class="comment"><sp/>*<sp/><sp/>Private<sp/>function<sp/>used<sp/>to<sp/>check<sp/>if<sp/>data<sp/>has<sp/>been<sp/>added<sp/>to<sp/>a<sp/>variable</highlight></codeline>
<codeline lineno="95"><highlight class="comment"><sp/>*<sp/><sp/>using<sp/>this<sp/>dimension.</highlight></codeline>
<codeline lineno="96"><highlight class="comment"><sp/>*</highlight></codeline>
<codeline lineno="97"><highlight class="comment"><sp/>*<sp/><sp/>@param<sp/><sp/>group<sp/>-<sp/>pointer<sp/>to<sp/>the<sp/>group<sp/>the<sp/>dimension<sp/>belongs<sp/>to</highlight></codeline>
<codeline lineno="98"><highlight class="comment"><sp/>*<sp/><sp/>@param<sp/><sp/>dim<sp/><sp/><sp/>-<sp/>pointer<sp/>to<sp/>the<sp/>dimension</highlight></codeline>
<codeline lineno="99"><highlight class="comment"><sp/>*</highlight></codeline>
<codeline lineno="100"><highlight class="comment"><sp/>*<sp/><sp/>@return</highlight></codeline>
<codeline lineno="101"><highlight class="comment"><sp/>*<sp/><sp/><sp/><sp/>-<sp/>1<sp/>if<sp/>the<sp/>dimension<sp/>is<sp/>being<sp/>used</highlight></codeline>
<codeline lineno="102"><highlight class="comment"><sp/>*<sp/><sp/><sp/><sp/>-<sp/>0<sp/>if<sp/>the<sp/>dimesnion<sp/>is<sp/>not<sp/>being<sp/>used.</highlight></codeline>
<codeline lineno="103"><highlight class="comment"><sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="104"><highlight class="normal"></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>_cds_is_dim_used(<ref refid="structCDSGroup" kindref="compound" tooltip="CDS Group.">CDSGroup</ref><sp/>*group,<sp/><ref refid="structCDSDim" kindref="compound" tooltip="CDS Dimension.">CDSDim</ref><sp/>*dim)</highlight></codeline>
<codeline lineno="105"><highlight class="normal">{</highlight></codeline>
<codeline lineno="106"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="structCDSVar" kindref="compound" tooltip="CDS Variable.">CDSVar</ref><sp/>*var;</highlight></codeline>
<codeline lineno="107"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><sp/><sp/><sp/><sp/>vi,<sp/>di,<sp/>gi;</highlight></codeline>
<codeline lineno="108"><highlight class="normal"></highlight></codeline>
<codeline lineno="109"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Search<sp/>the<sp/>variables<sp/>in<sp/>this<sp/>group<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="110"><highlight class="normal"></highlight></codeline>
<codeline lineno="111"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(vi<sp/>=<sp/>0;<sp/>vi<sp/>&lt;<sp/>group-&gt;<ref refid="structCDSGroup_1a2194b5479c6dd879bb44109137f6108b" kindref="member" tooltip="number of variables">nvars</ref>;<sp/>vi++)<sp/>{</highlight></codeline>
<codeline lineno="112"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>var<sp/>=<sp/>group-&gt;<ref refid="structCDSGroup_1a126ed622f8abc90300e0751e51aa02c1" kindref="member" tooltip="array of variable pointers">vars</ref>[vi];</highlight></codeline>
<codeline lineno="113"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(var-&gt;<ref refid="structCDSVar_1ad65a4faa51e21d3521092669113cbd9a" kindref="member" tooltip="array of data values">data</ref>.<ref refid="unionCDSData_1aae584b2623f802851a39e5f970535d08" kindref="member" tooltip="void: void pointer">vp</ref>)<sp/>{</highlight></codeline>
<codeline lineno="114"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(di<sp/>=<sp/>0;<sp/>di<sp/>&lt;<sp/>var-&gt;<ref refid="structCDSVar_1af9f05743ab983ac3f87a55a50f39e115" kindref="member" tooltip="number of dimensions">ndims</ref>;<sp/>di++)<sp/>{</highlight></codeline>
<codeline lineno="115"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(var-&gt;<ref refid="structCDSVar_1a5477f8c7086b58a651b730a3fec02682" kindref="member" tooltip="array of dimension pointers">dims</ref>[di]<sp/>==<sp/>dim)<sp/>{</highlight></codeline>
<codeline lineno="116"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal">(1);</highlight></codeline>
<codeline lineno="117"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="118"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="119"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="120"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="121"><highlight class="normal"></highlight></codeline>
<codeline lineno="122"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Recurse<sp/>into<sp/>sub-groups<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="123"><highlight class="normal"></highlight></codeline>
<codeline lineno="124"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(gi<sp/>=<sp/>0;<sp/>gi<sp/>&lt;<sp/>group-&gt;<ref refid="structCDSGroup_1a41f30782bbc34282c7816eb5b3418362" kindref="member" tooltip="number of groups">ngroups</ref>;<sp/>gi++)<sp/>{</highlight></codeline>
<codeline lineno="125"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(_cds_is_dim_used(group-&gt;<ref refid="structCDSGroup_1acb3611ebfebc8fb39908244cbb1b4c77" kindref="member" tooltip="array of group pointers">groups</ref>[gi],<sp/>dim))<sp/>{</highlight></codeline>
<codeline lineno="126"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal">(1);</highlight></codeline>
<codeline lineno="127"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="128"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="129"><highlight class="normal"></highlight></codeline>
<codeline lineno="130"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal">(0);</highlight></codeline>
<codeline lineno="131"><highlight class="normal">}</highlight></codeline>
<codeline lineno="132"><highlight class="normal"></highlight><highlight class="comment"></highlight></codeline>
<codeline lineno="133"><highlight class="comment">/**</highlight></codeline>
<codeline lineno="134"><highlight class="comment"><sp/>*<sp/><sp/>PRIVATE:<sp/>Delete<sp/>dependant<sp/>variables.</highlight></codeline>
<codeline lineno="135"><highlight class="comment"><sp/>*</highlight></codeline>
<codeline lineno="136"><highlight class="comment"><sp/>*<sp/><sp/>Private<sp/>function<sp/>used<sp/>to<sp/>delete<sp/>all<sp/>variables<sp/>that<sp/>use<sp/>the</highlight></codeline>
<codeline lineno="137"><highlight class="comment"><sp/>*<sp/><sp/>specifed<sp/>dimension.</highlight></codeline>
<codeline lineno="138"><highlight class="comment"><sp/>*</highlight></codeline>
<codeline lineno="139"><highlight class="comment"><sp/>*<sp/><sp/>@param<sp/><sp/>group<sp/>-<sp/>pointer<sp/>to<sp/>the<sp/>group<sp/>the<sp/>dimension<sp/>belongs<sp/>to</highlight></codeline>
<codeline lineno="140"><highlight class="comment"><sp/>*<sp/><sp/>@param<sp/><sp/>dim<sp/><sp/><sp/>-<sp/>pointer<sp/>to<sp/>the<sp/>dimension</highlight></codeline>
<codeline lineno="141"><highlight class="comment"><sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="142"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>_cds_delete_dependant_vars(<ref refid="structCDSGroup" kindref="compound" tooltip="CDS Group.">CDSGroup</ref><sp/>*group,<sp/><ref refid="structCDSDim" kindref="compound" tooltip="CDS Dimension.">CDSDim</ref><sp/>*dim)</highlight></codeline>
<codeline lineno="143"><highlight class="normal">{</highlight></codeline>
<codeline lineno="144"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="structCDSVar" kindref="compound" tooltip="CDS Variable.">CDSVar</ref><sp/>*var;</highlight></codeline>
<codeline lineno="145"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><sp/><sp/><sp/><sp/>vi,<sp/>di,<sp/>gi;</highlight></codeline>
<codeline lineno="146"><highlight class="normal"></highlight></codeline>
<codeline lineno="147"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Search<sp/>the<sp/>variables<sp/>in<sp/>this<sp/>group<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="148"><highlight class="normal"></highlight></codeline>
<codeline lineno="149"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(vi<sp/>=<sp/>0;<sp/>vi<sp/>&lt;<sp/>group-&gt;<ref refid="structCDSGroup_1a2194b5479c6dd879bb44109137f6108b" kindref="member" tooltip="number of variables">nvars</ref>;<sp/>vi++)<sp/>{</highlight></codeline>
<codeline lineno="150"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>var<sp/>=<sp/>group-&gt;<ref refid="structCDSGroup_1a126ed622f8abc90300e0751e51aa02c1" kindref="member" tooltip="array of variable pointers">vars</ref>[vi];</highlight></codeline>
<codeline lineno="151"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(di<sp/>=<sp/>0;<sp/>di<sp/>&lt;<sp/>var-&gt;<ref refid="structCDSVar_1af9f05743ab983ac3f87a55a50f39e115" kindref="member" tooltip="number of dimensions">ndims</ref>;<sp/>di++)<sp/>{</highlight></codeline>
<codeline lineno="152"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(var-&gt;<ref refid="structCDSVar_1a5477f8c7086b58a651b730a3fec02682" kindref="member" tooltip="array of dimension pointers">dims</ref>[di]<sp/>==<sp/>dim)<sp/>{</highlight></codeline>
<codeline lineno="153"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>_cds_remove_object((</highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>**)group-&gt;<ref refid="structCDSGroup_1a126ed622f8abc90300e0751e51aa02c1" kindref="member" tooltip="array of variable pointers">vars</ref>,<sp/>&amp;(group-&gt;<ref refid="structCDSGroup_1a2194b5479c6dd879bb44109137f6108b" kindref="member" tooltip="number of variables">nvars</ref>),<sp/>var);</highlight></codeline>
<codeline lineno="154"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>_cds_destroy_var(var);</highlight></codeline>
<codeline lineno="155"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>vi--;</highlight></codeline>
<codeline lineno="156"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">break</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="157"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="158"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="159"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="160"><highlight class="normal"></highlight></codeline>
<codeline lineno="161"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Recurse<sp/>into<sp/>sub-groups<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="162"><highlight class="normal"></highlight></codeline>
<codeline lineno="163"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(gi<sp/>=<sp/>0;<sp/>gi<sp/>&lt;<sp/>group-&gt;<ref refid="structCDSGroup_1a41f30782bbc34282c7816eb5b3418362" kindref="member" tooltip="number of groups">ngroups</ref>;<sp/>gi++)<sp/>{</highlight></codeline>
<codeline lineno="164"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>_cds_delete_dependant_vars(group-&gt;<ref refid="structCDSGroup_1acb3611ebfebc8fb39908244cbb1b4c77" kindref="member" tooltip="array of group pointers">groups</ref>[gi],<sp/>dim);</highlight></codeline>
<codeline lineno="165"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="166"><highlight class="normal">}</highlight></codeline>
<codeline lineno="167"><highlight class="normal"></highlight></codeline>
<codeline lineno="168"><highlight class="normal"></highlight><highlight class="comment">/*******************************************************************************</highlight></codeline>
<codeline lineno="169"><highlight class="comment"><sp/>*<sp/><sp/>Public<sp/>Functions</highlight></codeline>
<codeline lineno="170"><highlight class="comment"><sp/>*/</highlight><highlight class="comment"></highlight></codeline>
<codeline lineno="171"><highlight class="comment">/**<sp/>@publicsection<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="172"><highlight class="normal"></highlight><highlight class="comment"></highlight></codeline>
<codeline lineno="173"><highlight class="comment">/**</highlight></codeline>
<codeline lineno="174"><highlight class="comment"><sp/>*<sp/><sp/>Change<sp/>the<sp/>length<sp/>of<sp/>a<sp/>CDS<sp/>Dimension.</highlight></codeline>
<codeline lineno="175"><highlight class="comment"><sp/>*</highlight></codeline>
<codeline lineno="176"><highlight class="comment"><sp/>*<sp/><sp/>Error<sp/>messages<sp/>from<sp/>this<sp/>function<sp/>are<sp/>sent<sp/>to<sp/>the<sp/>message<sp/>handler</highlight></codeline>
<codeline lineno="177"><highlight class="comment"><sp/>*<sp/><sp/>(see<sp/>msngr_init_log()<sp/>and<sp/>msngr_init_mail()).</highlight></codeline>
<codeline lineno="178"><highlight class="comment"><sp/>*</highlight></codeline>
<codeline lineno="179"><highlight class="comment"><sp/>*<sp/><sp/>@param<sp/><sp/>dim<sp/><sp/><sp/><sp/>-<sp/>pointer<sp/>to<sp/>the<sp/>dimension</highlight></codeline>
<codeline lineno="180"><highlight class="comment"><sp/>*<sp/><sp/>@param<sp/><sp/>length<sp/>-<sp/>new<sp/>dimension<sp/>length</highlight></codeline>
<codeline lineno="181"><highlight class="comment"><sp/>*</highlight></codeline>
<codeline lineno="182"><highlight class="comment"><sp/>*<sp/><sp/>@return</highlight></codeline>
<codeline lineno="183"><highlight class="comment"><sp/>*<sp/><sp/><sp/><sp/>-<sp/>1<sp/>if:</highlight></codeline>
<codeline lineno="184"><highlight class="comment"><sp/>*<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>-<sp/>the<sp/>dimension<sp/>length<sp/>was<sp/>changed</highlight></codeline>
<codeline lineno="185"><highlight class="comment"><sp/>*<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>-<sp/>the<sp/>new<sp/>length<sp/>was<sp/>equal<sp/>to<sp/>the<sp/>old<sp/>length</highlight></codeline>
<codeline lineno="186"><highlight class="comment"><sp/>*<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>-<sp/>this<sp/>is<sp/>an<sp/>unlimited<sp/>dimension</highlight></codeline>
<codeline lineno="187"><highlight class="comment"><sp/>*<sp/><sp/><sp/><sp/>-<sp/>0<sp/>if:</highlight></codeline>
<codeline lineno="188"><highlight class="comment"><sp/>*<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>-<sp/>the<sp/>dimension<sp/>is<sp/>locked</highlight></codeline>
<codeline lineno="189"><highlight class="comment"><sp/>*<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>-<sp/>data<sp/>has<sp/>already<sp/>been<sp/>added<sp/>to<sp/>a<sp/>variable<sp/>using<sp/>this<sp/>dimension</highlight></codeline>
<codeline lineno="190"><highlight class="comment"><sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="191" refid="group__CDS__DIMS_1ga72b7ad6c97deb48d8b62f36c9e408a77" refkind="member"><highlight class="normal"></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="group__CDS__DIMS_1ga72b7ad6c97deb48d8b62f36c9e408a77" kindref="member" tooltip="Change the length of a CDS Dimension.">cds_change_dim_length</ref>(<ref refid="structCDSDim" kindref="compound" tooltip="CDS Dimension.">CDSDim</ref><sp/>*dim,<sp/></highlight><highlight class="keywordtype">size_t</highlight><highlight class="normal"><sp/>length)</highlight></codeline>
<codeline lineno="192"><highlight class="normal">{</highlight></codeline>
<codeline lineno="193"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="structCDSGroup" kindref="compound" tooltip="CDS Group.">CDSGroup</ref><sp/>*group<sp/>=<sp/>(<ref refid="structCDSGroup" kindref="compound" tooltip="CDS Group.">CDSGroup</ref><sp/>*)dim-&gt;<ref refid="structCDSDim_1ac47ee4d577c69968d0af29d469dc96bc" kindref="member" tooltip="parent object">parent</ref>;</highlight></codeline>
<codeline lineno="194"><highlight class="normal"></highlight></codeline>
<codeline lineno="195"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Check<sp/>if<sp/>the<sp/>new<sp/>length<sp/>equals<sp/>the<sp/>old<sp/>length<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="196"><highlight class="normal"></highlight></codeline>
<codeline lineno="197"><highlight class="normal"><sp/><sp/><sp/><sp/>if<sp/>(dim-&gt;<ref refid="structCDSDim_1a42e561ae4b4001dfa84bdb80150c07e6" kindref="member" tooltip="dimension length">length</ref><sp/>==<sp/>length)<sp/>{</highlight></codeline>
<codeline lineno="198"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal">(1);</highlight></codeline>
<codeline lineno="199"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="200"><highlight class="normal"></highlight></codeline>
<codeline lineno="201"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Check<sp/>if<sp/>this<sp/>is<sp/>an<sp/>unlimited<sp/>dimension.<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="202"><highlight class="normal"></highlight></codeline>
<codeline lineno="203"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(dim-&gt;<ref refid="structCDSDim_1ab4f7e829f64f1ee019752443045c4d8a" kindref="member" tooltip="is unlimited flag (0 = FALSE, 1 = TRUE)">is_unlimited</ref>)<sp/>{</highlight></codeline>
<codeline lineno="204"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal">(1);</highlight></codeline>
<codeline lineno="205"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="206"><highlight class="normal"></highlight></codeline>
<codeline lineno="207"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Check<sp/>if<sp/>the<sp/>dimension<sp/>is<sp/>locked<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="208"><highlight class="normal"></highlight></codeline>
<codeline lineno="209"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(dim-&gt;<ref refid="structCDSDim_1a1e611683a0c2aca18b2f38c008fd5c48" kindref="member" tooltip="definition lock">def_lock</ref>)<sp/>{</highlight></codeline>
<codeline lineno="210"><highlight class="normal"></highlight></codeline>
<codeline lineno="211"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__MESSENGER_1ga3daef1e04a92bab649cd28129f18d42a" kindref="member" external="libmsngr.tag">ERROR</ref>(<sp/><ref refid="cds3_8h_1a95b6c6209cd7b162cb9ddffed477478c" kindref="member" tooltip="CDS library name.">CDS_LIB_NAME</ref>,</highlight></codeline>
<codeline lineno="212"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="stringliteral">&quot;Could<sp/>not<sp/>change<sp/>dimension<sp/>length<sp/>for:<sp/>%s\n&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="213"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="stringliteral">&quot;<sp/>-&gt;<sp/>the<sp/>dimension<sp/>definition<sp/>lock<sp/>is<sp/>set<sp/>to:<sp/>%d\n&quot;</highlight><highlight class="normal">,</highlight></codeline>
<codeline lineno="214"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__CDSObject_1gad6d5f86f7c842c2e9fc594fe3cfed2bb" kindref="member" tooltip="Get the path of a CDS Object.">cds_get_object_path</ref>(dim),<sp/>dim-&gt;<ref refid="structCDSDim_1a1e611683a0c2aca18b2f38c008fd5c48" kindref="member" tooltip="definition lock">def_lock</ref>);</highlight></codeline>
<codeline lineno="215"><highlight class="normal"></highlight></codeline>
<codeline lineno="216"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal">(0);</highlight></codeline>
<codeline lineno="217"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="218"><highlight class="normal"></highlight></codeline>
<codeline lineno="219"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>The<sp/>dimension<sp/>size<sp/>can<sp/>not<sp/>be<sp/>changed<sp/>if<sp/>data<sp/>has<sp/>been<sp/>added</highlight></codeline>
<codeline lineno="220"><highlight class="comment"><sp/><sp/><sp/><sp/><sp/>*<sp/>to<sp/>a<sp/>variable<sp/>using<sp/>this<sp/>dimension.</highlight></codeline>
<codeline lineno="221"><highlight class="comment"><sp/><sp/><sp/><sp/><sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="222"><highlight class="normal"></highlight></codeline>
<codeline lineno="223"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(_cds_is_dim_used(group,<sp/>dim))<sp/>{</highlight></codeline>
<codeline lineno="224"><highlight class="normal"></highlight></codeline>
<codeline lineno="225"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__MESSENGER_1ga3daef1e04a92bab649cd28129f18d42a" kindref="member" external="libmsngr.tag">ERROR</ref>(<sp/><ref refid="cds3_8h_1a95b6c6209cd7b162cb9ddffed477478c" kindref="member" tooltip="CDS library name.">CDS_LIB_NAME</ref>,</highlight></codeline>
<codeline lineno="226"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="stringliteral">&quot;Could<sp/>not<sp/>change<sp/>dimension<sp/>length<sp/>for:<sp/>%s\n&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="227"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="stringliteral">&quot;<sp/>-&gt;<sp/>data<sp/>has<sp/>been<sp/>added<sp/>for<sp/>a<sp/>variable<sp/>using<sp/>this<sp/>dimension\n&quot;</highlight><highlight class="normal">,</highlight></codeline>
<codeline lineno="228"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__CDSObject_1gad6d5f86f7c842c2e9fc594fe3cfed2bb" kindref="member" tooltip="Get the path of a CDS Object.">cds_get_object_path</ref>(dim));</highlight></codeline>
<codeline lineno="229"><highlight class="normal"></highlight></codeline>
<codeline lineno="230"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal">(0);</highlight></codeline>
<codeline lineno="231"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="232"><highlight class="normal"></highlight></codeline>
<codeline lineno="233"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Change<sp/>the<sp/>dimension<sp/>length<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="234"><highlight class="normal"></highlight></codeline>
<codeline lineno="235"><highlight class="normal"><sp/><sp/><sp/><sp/>dim-&gt;<ref refid="structCDSDim_1a42e561ae4b4001dfa84bdb80150c07e6" kindref="member" tooltip="dimension length">length</ref><sp/>=<sp/>length;</highlight></codeline>
<codeline lineno="236"><highlight class="normal"></highlight></codeline>
<codeline lineno="237"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal">(1);</highlight></codeline>
<codeline lineno="238"><highlight class="normal">}</highlight></codeline>
<codeline lineno="239"><highlight class="normal"></highlight><highlight class="comment"></highlight></codeline>
<codeline lineno="240"><highlight class="comment">/**</highlight></codeline>
<codeline lineno="241"><highlight class="comment"><sp/>*<sp/><sp/>Define<sp/>a<sp/>CDS<sp/>Dimension.</highlight></codeline>
<codeline lineno="242"><highlight class="comment"><sp/>*</highlight></codeline>
<codeline lineno="243"><highlight class="comment"><sp/>*<sp/><sp/>This<sp/>function<sp/>will<sp/>first<sp/>check<sp/>if<sp/>a<sp/>dimension<sp/>with<sp/>the<sp/>same</highlight></codeline>
<codeline lineno="244"><highlight class="comment"><sp/>*<sp/><sp/>definition<sp/>already<sp/>exists<sp/>in<sp/>the<sp/>specified<sp/>group.<sp/>If<sp/>it<sp/>does,</highlight></codeline>
<codeline lineno="245"><highlight class="comment"><sp/>*<sp/><sp/>the<sp/>existing<sp/>dimension<sp/>will<sp/>be<sp/>returned.</highlight></codeline>
<codeline lineno="246"><highlight class="comment"><sp/>*</highlight></codeline>
<codeline lineno="247"><highlight class="comment"><sp/>*<sp/><sp/>Error<sp/>messages<sp/>from<sp/>this<sp/>function<sp/>are<sp/>sent<sp/>to<sp/>the<sp/>message<sp/>handler</highlight></codeline>
<codeline lineno="248"><highlight class="comment"><sp/>*<sp/><sp/>(see<sp/>msngr_init_log()<sp/>and<sp/>msngr_init_mail()).</highlight></codeline>
<codeline lineno="249"><highlight class="comment"><sp/>*</highlight></codeline>
<codeline lineno="250"><highlight class="comment"><sp/>*<sp/><sp/>@param<sp/><sp/>group<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>-<sp/>pointer<sp/>to<sp/>the<sp/>group</highlight></codeline>
<codeline lineno="251"><highlight class="comment"><sp/>*<sp/><sp/>@param<sp/><sp/>name<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>-<sp/>dimension<sp/>name</highlight></codeline>
<codeline lineno="252"><highlight class="comment"><sp/>*<sp/><sp/>@param<sp/><sp/>length<sp/><sp/><sp/><sp/><sp/><sp/><sp/>-<sp/>dimension<sp/>length</highlight></codeline>
<codeline lineno="253"><highlight class="comment"><sp/>*<sp/><sp/>@param<sp/><sp/>is_unlimited<sp/>-<sp/>is<sp/>dimension<sp/>unlimited<sp/>(0<sp/>=<sp/>FALSE,<sp/>1<sp/>=<sp/>TRUE)</highlight></codeline>
<codeline lineno="254"><highlight class="comment"><sp/>*</highlight></codeline>
<codeline lineno="255"><highlight class="comment"><sp/>*<sp/><sp/>@return</highlight></codeline>
<codeline lineno="256"><highlight class="comment"><sp/>*<sp/><sp/><sp/><sp/>-<sp/>pointer<sp/>to<sp/>the<sp/>dimension</highlight></codeline>
<codeline lineno="257"><highlight class="comment"><sp/>*<sp/><sp/><sp/><sp/>-<sp/>NULL<sp/>if:</highlight></codeline>
<codeline lineno="258"><highlight class="comment"><sp/>*<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>-<sp/>a<sp/>static<sp/>dimension<sp/>with<sp/>the<sp/>same<sp/>name<sp/>but<sp/>different<sp/>length</highlight></codeline>
<codeline lineno="259"><highlight class="comment"><sp/>*<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>has<sp/>already<sp/>been<sp/>defined<sp/>for<sp/>the<sp/>specified<sp/>group.</highlight></codeline>
<codeline lineno="260"><highlight class="comment"><sp/>*<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>-<sp/>the<sp/>group<sp/>is<sp/>locked</highlight></codeline>
<codeline lineno="261"><highlight class="comment"><sp/>*<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>-<sp/>a<sp/>memory<sp/>allocation<sp/>error<sp/>occurred</highlight></codeline>
<codeline lineno="262"><highlight class="comment"><sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="263" refid="group__CDS__DIMS_1gaf4dd688adb9488307fdd1e03409fff4f" refkind="member"><highlight class="normal"><ref refid="structCDSDim" kindref="compound" tooltip="CDS Dimension.">CDSDim</ref><sp/>*<ref refid="group__CDS__DIMS_1gaf4dd688adb9488307fdd1e03409fff4f" kindref="member" tooltip="Define a CDS Dimension.">cds_define_dim</ref>(</highlight></codeline>
<codeline lineno="264"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="structCDSGroup" kindref="compound" tooltip="CDS Group.">CDSGroup</ref><sp/><sp/><sp/>*group,</highlight></codeline>
<codeline lineno="265"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*name,</highlight></codeline>
<codeline lineno="266"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">size_t</highlight><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>length,</highlight></codeline>
<codeline lineno="267"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>is_unlimited)</highlight></codeline>
<codeline lineno="268"><highlight class="normal">{</highlight></codeline>
<codeline lineno="269"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="structCDSDim" kindref="compound" tooltip="CDS Dimension.">CDSDim</ref><sp/><sp/>*dim;</highlight></codeline>
<codeline lineno="270"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="structCDSDim" kindref="compound" tooltip="CDS Dimension.">CDSDim</ref><sp/>**dims;</highlight></codeline>
<codeline lineno="271"><highlight class="normal"></highlight></codeline>
<codeline lineno="272"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Check<sp/>if<sp/>a<sp/>dimension<sp/>with<sp/>this<sp/>name<sp/>already<sp/>exists<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="273"><highlight class="normal"></highlight></codeline>
<codeline lineno="274"><highlight class="normal"><sp/><sp/><sp/><sp/>dim<sp/>=<sp/>_cds_get_object((</highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>**)group-&gt;<ref refid="structCDSGroup_1a0eb01cfb0dd9639f4701192cbaf73f7b" kindref="member" tooltip="array of dimension pointers">dims</ref>,<sp/>group-&gt;<ref refid="structCDSGroup_1a83d9cc50f0db727c86e90100b36a6343" kindref="member" tooltip="number of dimensions">ndims</ref>,<sp/>name);</highlight></codeline>
<codeline lineno="275"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(dim)<sp/>{</highlight></codeline>
<codeline lineno="276"><highlight class="normal"></highlight></codeline>
<codeline lineno="277"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>((is_unlimited<sp/>==<sp/>dim-&gt;<ref refid="structCDSDim_1ab4f7e829f64f1ee019752443045c4d8a" kindref="member" tooltip="is unlimited flag (0 = FALSE, 1 = TRUE)">is_unlimited</ref>)<sp/>&amp;&amp;</highlight></codeline>
<codeline lineno="278"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>(is_unlimited<sp/>||<sp/>(length<sp/>==<sp/>dim-&gt;<ref refid="structCDSDim_1a42e561ae4b4001dfa84bdb80150c07e6" kindref="member" tooltip="dimension length">length</ref>)))<sp/>{</highlight></codeline>
<codeline lineno="279"><highlight class="normal"></highlight></codeline>
<codeline lineno="280"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal">(dim);</highlight></codeline>
<codeline lineno="281"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="282"><highlight class="normal"></highlight></codeline>
<codeline lineno="283"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>A<sp/>dimension<sp/>with<sp/>this<sp/>name<sp/>but<sp/>a<sp/>different<sp/>definition</highlight></codeline>
<codeline lineno="284"><highlight class="comment"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>*<sp/>has<sp/>already<sp/>been<sp/>defined<sp/>for<sp/>this<sp/>group<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="285"><highlight class="normal"></highlight></codeline>
<codeline lineno="286"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__MESSENGER_1ga3daef1e04a92bab649cd28129f18d42a" kindref="member" external="libmsngr.tag">ERROR</ref>(<sp/><ref refid="cds3_8h_1a95b6c6209cd7b162cb9ddffed477478c" kindref="member" tooltip="CDS library name.">CDS_LIB_NAME</ref>,</highlight></codeline>
<codeline lineno="287"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="stringliteral">&quot;Could<sp/>not<sp/>define<sp/>dimension:<sp/>%s\n&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="288"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="stringliteral">&quot;<sp/>-&gt;<sp/>dimension<sp/>exists\n&quot;</highlight><highlight class="normal">,<sp/><ref refid="group__CDSObject_1gad6d5f86f7c842c2e9fc594fe3cfed2bb" kindref="member" tooltip="Get the path of a CDS Object.">cds_get_object_path</ref>(dim));</highlight></codeline>
<codeline lineno="289"><highlight class="normal"></highlight></codeline>
<codeline lineno="290"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal">((<ref refid="structCDSDim" kindref="compound" tooltip="CDS Dimension.">CDSDim</ref><sp/>*)NULL);</highlight></codeline>
<codeline lineno="291"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="292"><highlight class="normal"></highlight></codeline>
<codeline lineno="293"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Check<sp/>if<sp/>the<sp/>group<sp/>is<sp/>locked<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="294"><highlight class="normal"></highlight></codeline>
<codeline lineno="295"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(group-&gt;<ref refid="structCDSGroup_1a8dd7c7d100b4ada1a2399c88e3560659" kindref="member" tooltip="definition lock">def_lock</ref>)<sp/>{</highlight></codeline>
<codeline lineno="296"><highlight class="normal"></highlight></codeline>
<codeline lineno="297"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__MESSENGER_1ga3daef1e04a92bab649cd28129f18d42a" kindref="member" external="libmsngr.tag">ERROR</ref>(<sp/><ref refid="cds3_8h_1a95b6c6209cd7b162cb9ddffed477478c" kindref="member" tooltip="CDS library name.">CDS_LIB_NAME</ref>,</highlight></codeline>
<codeline lineno="298"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="stringliteral">&quot;Could<sp/>not<sp/>define<sp/>dimension:<sp/>%s/_dims_/%s\n&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="299"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="stringliteral">&quot;<sp/>-&gt;<sp/>the<sp/>group<sp/>definition<sp/>lock<sp/>is<sp/>set<sp/>to:<sp/>%d\n&quot;</highlight><highlight class="normal">,</highlight></codeline>
<codeline lineno="300"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__CDSObject_1gad6d5f86f7c842c2e9fc594fe3cfed2bb" kindref="member" tooltip="Get the path of a CDS Object.">cds_get_object_path</ref>(group),<sp/>name,<sp/>group-&gt;<ref refid="structCDSGroup_1a8dd7c7d100b4ada1a2399c88e3560659" kindref="member" tooltip="definition lock">def_lock</ref>);</highlight></codeline>
<codeline lineno="301"><highlight class="normal"></highlight></codeline>
<codeline lineno="302"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal">((<ref refid="structCDSDim" kindref="compound" tooltip="CDS Dimension.">CDSDim</ref><sp/>*)NULL);</highlight></codeline>
<codeline lineno="303"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="304"><highlight class="normal"></highlight></codeline>
<codeline lineno="305"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Allocate<sp/>space<sp/>for<sp/>a<sp/>new<sp/>dimension<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="306"><highlight class="normal"></highlight></codeline>
<codeline lineno="307"><highlight class="normal"><sp/><sp/><sp/><sp/>dims<sp/>=<sp/>(<ref refid="structCDSDim" kindref="compound" tooltip="CDS Dimension.">CDSDim</ref><sp/>**)realloc(</highlight></codeline>
<codeline lineno="308"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>group-&gt;<ref refid="structCDSGroup_1a0eb01cfb0dd9639f4701192cbaf73f7b" kindref="member" tooltip="array of dimension pointers">dims</ref>,<sp/>(group-&gt;<ref refid="structCDSGroup_1a83d9cc50f0db727c86e90100b36a6343" kindref="member" tooltip="number of dimensions">ndims</ref><sp/>+<sp/>2)<sp/>*<sp/></highlight><highlight class="keyword">sizeof</highlight><highlight class="normal">(<ref refid="structCDSDim" kindref="compound" tooltip="CDS Dimension.">CDSDim</ref><sp/>*));</highlight></codeline>
<codeline lineno="309"><highlight class="normal"></highlight></codeline>
<codeline lineno="310"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!dims)<sp/>{</highlight></codeline>
<codeline lineno="311"><highlight class="normal"></highlight></codeline>
<codeline lineno="312"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__MESSENGER_1ga3daef1e04a92bab649cd28129f18d42a" kindref="member" external="libmsngr.tag">ERROR</ref>(<sp/><ref refid="cds3_8h_1a95b6c6209cd7b162cb9ddffed477478c" kindref="member" tooltip="CDS library name.">CDS_LIB_NAME</ref>,</highlight></codeline>
<codeline lineno="313"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="stringliteral">&quot;Could<sp/>not<sp/>define<sp/>dimension:<sp/>%s/_dims_/%s\n&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="314"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="stringliteral">&quot;<sp/>-&gt;<sp/>memory<sp/>allocation<sp/>error\n&quot;</highlight><highlight class="normal">,</highlight></codeline>
<codeline lineno="315"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__CDSObject_1gad6d5f86f7c842c2e9fc594fe3cfed2bb" kindref="member" tooltip="Get the path of a CDS Object.">cds_get_object_path</ref>(group),<sp/>name);</highlight></codeline>
<codeline lineno="316"><highlight class="normal"></highlight></codeline>
<codeline lineno="317"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal">((<ref refid="structCDSDim" kindref="compound" tooltip="CDS Dimension.">CDSDim</ref><sp/>*)NULL);</highlight></codeline>
<codeline lineno="318"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="319"><highlight class="normal"></highlight></codeline>
<codeline lineno="320"><highlight class="normal"><sp/><sp/><sp/><sp/>group-&gt;<ref refid="structCDSGroup_1a0eb01cfb0dd9639f4701192cbaf73f7b" kindref="member" tooltip="array of dimension pointers">dims</ref><sp/>=<sp/>dims;</highlight></codeline>
<codeline lineno="321"><highlight class="normal"></highlight></codeline>
<codeline lineno="322"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Create<sp/>the<sp/>dimension<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="323"><highlight class="normal"></highlight></codeline>
<codeline lineno="324"><highlight class="normal"><sp/><sp/><sp/><sp/>group-&gt;<ref refid="structCDSGroup_1a0eb01cfb0dd9639f4701192cbaf73f7b" kindref="member" tooltip="array of dimension pointers">dims</ref>[group-&gt;<ref refid="structCDSGroup_1a83d9cc50f0db727c86e90100b36a6343" kindref="member" tooltip="number of dimensions">ndims</ref>]<sp/>=<sp/>_cds_create_dim(</highlight></codeline>
<codeline lineno="325"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>group,<sp/>name,<sp/>length,<sp/>is_unlimited);</highlight></codeline>
<codeline lineno="326"><highlight class="normal"></highlight></codeline>
<codeline lineno="327"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!group-&gt;<ref refid="structCDSGroup_1a0eb01cfb0dd9639f4701192cbaf73f7b" kindref="member" tooltip="array of dimension pointers">dims</ref>[group-&gt;<ref refid="structCDSGroup_1a83d9cc50f0db727c86e90100b36a6343" kindref="member" tooltip="number of dimensions">ndims</ref>])<sp/>{</highlight></codeline>
<codeline lineno="328"><highlight class="normal"></highlight></codeline>
<codeline lineno="329"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__MESSENGER_1ga3daef1e04a92bab649cd28129f18d42a" kindref="member" external="libmsngr.tag">ERROR</ref>(<sp/><ref refid="cds3_8h_1a95b6c6209cd7b162cb9ddffed477478c" kindref="member" tooltip="CDS library name.">CDS_LIB_NAME</ref>,</highlight></codeline>
<codeline lineno="330"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="stringliteral">&quot;Could<sp/>not<sp/>define<sp/>dimension:<sp/>%s/_dims_/%s\n&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="331"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="stringliteral">&quot;<sp/>-&gt;<sp/>memory<sp/>allocation<sp/>error\n&quot;</highlight><highlight class="normal">,</highlight></codeline>
<codeline lineno="332"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__CDSObject_1gad6d5f86f7c842c2e9fc594fe3cfed2bb" kindref="member" tooltip="Get the path of a CDS Object.">cds_get_object_path</ref>(group),<sp/>name);</highlight></codeline>
<codeline lineno="333"><highlight class="normal"></highlight></codeline>
<codeline lineno="334"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal">((<ref refid="structCDSDim" kindref="compound" tooltip="CDS Dimension.">CDSDim</ref><sp/>*)NULL);</highlight></codeline>
<codeline lineno="335"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="336"><highlight class="normal"></highlight></codeline>
<codeline lineno="337"><highlight class="normal"><sp/><sp/><sp/><sp/>group-&gt;<ref refid="structCDSGroup_1a83d9cc50f0db727c86e90100b36a6343" kindref="member" tooltip="number of dimensions">ndims</ref>++;</highlight></codeline>
<codeline lineno="338"><highlight class="normal"><sp/><sp/><sp/><sp/>group-&gt;<ref refid="structCDSGroup_1a0eb01cfb0dd9639f4701192cbaf73f7b" kindref="member" tooltip="array of dimension pointers">dims</ref>[group-&gt;<ref refid="structCDSGroup_1a83d9cc50f0db727c86e90100b36a6343" kindref="member" tooltip="number of dimensions">ndims</ref>]<sp/>=<sp/>(<ref refid="structCDSDim" kindref="compound" tooltip="CDS Dimension.">CDSDim</ref><sp/>*)NULL;</highlight></codeline>
<codeline lineno="339"><highlight class="normal"></highlight></codeline>
<codeline lineno="340"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal">(group-&gt;<ref refid="structCDSGroup_1a0eb01cfb0dd9639f4701192cbaf73f7b" kindref="member" tooltip="array of dimension pointers">dims</ref>[group-&gt;<ref refid="structCDSGroup_1a83d9cc50f0db727c86e90100b36a6343" kindref="member" tooltip="number of dimensions">ndims</ref><sp/>-<sp/>1]);</highlight></codeline>
<codeline lineno="341"><highlight class="normal">}</highlight></codeline>
<codeline lineno="342"><highlight class="normal"></highlight><highlight class="comment"></highlight></codeline>
<codeline lineno="343"><highlight class="comment">/**</highlight></codeline>
<codeline lineno="344"><highlight class="comment"><sp/>*<sp/><sp/>Delete<sp/>a<sp/>CDS<sp/>Dimension.</highlight></codeline>
<codeline lineno="345"><highlight class="comment"><sp/>*</highlight></codeline>
<codeline lineno="346"><highlight class="comment"><sp/>*<sp/><sp/>This<sp/>function<sp/>will<sp/>also<sp/>delete<sp/>all<sp/>variables<sp/>that<sp/>use<sp/>the</highlight></codeline>
<codeline lineno="347"><highlight class="comment"><sp/>*<sp/><sp/>specified<sp/>dimension.</highlight></codeline>
<codeline lineno="348"><highlight class="comment"><sp/>*</highlight></codeline>
<codeline lineno="349"><highlight class="comment"><sp/>*<sp/><sp/>Error<sp/>messages<sp/>from<sp/>this<sp/>function<sp/>are<sp/>sent<sp/>to<sp/>the<sp/>message<sp/>handler</highlight></codeline>
<codeline lineno="350"><highlight class="comment"><sp/>*<sp/><sp/>(see<sp/>msngr_init_log()<sp/>and<sp/>msngr_init_mail()).</highlight></codeline>
<codeline lineno="351"><highlight class="comment"><sp/>*</highlight></codeline>
<codeline lineno="352"><highlight class="comment"><sp/>*<sp/><sp/>@param<sp/><sp/>dim<sp/>-<sp/>pointer<sp/>to<sp/>the<sp/>dimension</highlight></codeline>
<codeline lineno="353"><highlight class="comment"><sp/>*</highlight></codeline>
<codeline lineno="354"><highlight class="comment"><sp/>*<sp/><sp/>@return</highlight></codeline>
<codeline lineno="355"><highlight class="comment"><sp/>*<sp/><sp/><sp/><sp/>-<sp/>1<sp/>if<sp/>the<sp/>dimension<sp/>was<sp/>deleted</highlight></codeline>
<codeline lineno="356"><highlight class="comment"><sp/>*<sp/><sp/><sp/><sp/>-<sp/>0<sp/>if:</highlight></codeline>
<codeline lineno="357"><highlight class="comment"><sp/>*<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>-<sp/>the<sp/>dimension<sp/>is<sp/>locked</highlight></codeline>
<codeline lineno="358"><highlight class="comment"><sp/>*<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>-<sp/>the<sp/>group<sp/>is<sp/>locked</highlight></codeline>
<codeline lineno="359"><highlight class="comment"><sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="360" refid="group__CDS__DIMS_1gad4f319471292b3b43810bb0a77f8adfc" refkind="member"><highlight class="normal"></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="group__CDS__DIMS_1gad4f319471292b3b43810bb0a77f8adfc" kindref="member" tooltip="Delete a CDS Dimension.">cds_delete_dim</ref>(<ref refid="structCDSDim" kindref="compound" tooltip="CDS Dimension.">CDSDim</ref><sp/>*dim)</highlight></codeline>
<codeline lineno="361"><highlight class="normal">{</highlight></codeline>
<codeline lineno="362"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="structCDSGroup" kindref="compound" tooltip="CDS Group.">CDSGroup</ref><sp/>*group<sp/>=<sp/>(<ref refid="structCDSGroup" kindref="compound" tooltip="CDS Group.">CDSGroup</ref><sp/>*)dim-&gt;<ref refid="structCDSDim_1ac47ee4d577c69968d0af29d469dc96bc" kindref="member" tooltip="parent object">parent</ref>;</highlight></codeline>
<codeline lineno="363"><highlight class="normal"></highlight></codeline>
<codeline lineno="364"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Check<sp/>if<sp/>the<sp/>dimension<sp/>is<sp/>locked<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="365"><highlight class="normal"></highlight></codeline>
<codeline lineno="366"><highlight class="normal"><sp/><sp/><sp/><sp/>if<sp/>(dim-&gt;<ref refid="structCDSDim_1a1e611683a0c2aca18b2f38c008fd5c48" kindref="member" tooltip="definition lock">def_lock</ref>)<sp/>{</highlight></codeline>
<codeline lineno="367"><highlight class="normal"></highlight></codeline>
<codeline lineno="368"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__MESSENGER_1ga3daef1e04a92bab649cd28129f18d42a" kindref="member" external="libmsngr.tag">ERROR</ref>(<sp/><ref refid="cds3_8h_1a95b6c6209cd7b162cb9ddffed477478c" kindref="member" tooltip="CDS library name.">CDS_LIB_NAME</ref>,</highlight></codeline>
<codeline lineno="369"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="stringliteral">&quot;Could<sp/>not<sp/>delete<sp/>dimension:<sp/>%s\n&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="370"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="stringliteral">&quot;<sp/>-&gt;<sp/>the<sp/>dimension<sp/>definition<sp/>lock<sp/>is<sp/>set<sp/>to:<sp/>%d\n&quot;</highlight><highlight class="normal">,</highlight></codeline>
<codeline lineno="371"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__CDSObject_1gad6d5f86f7c842c2e9fc594fe3cfed2bb" kindref="member" tooltip="Get the path of a CDS Object.">cds_get_object_path</ref>(dim),<sp/>dim-&gt;<ref refid="structCDSDim_1a1e611683a0c2aca18b2f38c008fd5c48" kindref="member" tooltip="definition lock">def_lock</ref>);</highlight></codeline>
<codeline lineno="372"><highlight class="normal"></highlight></codeline>
<codeline lineno="373"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal">(0);</highlight></codeline>
<codeline lineno="374"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="375"><highlight class="normal"></highlight></codeline>
<codeline lineno="376"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Check<sp/>if<sp/>the<sp/>group<sp/>is<sp/>locked<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="377"><highlight class="normal"></highlight></codeline>
<codeline lineno="378"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(group-&gt;<ref refid="structCDSGroup_1a8dd7c7d100b4ada1a2399c88e3560659" kindref="member" tooltip="definition lock">def_lock</ref>)<sp/>{</highlight></codeline>
<codeline lineno="379"><highlight class="normal"></highlight></codeline>
<codeline lineno="380"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__MESSENGER_1ga3daef1e04a92bab649cd28129f18d42a" kindref="member" external="libmsngr.tag">ERROR</ref>(<sp/><ref refid="cds3_8h_1a95b6c6209cd7b162cb9ddffed477478c" kindref="member" tooltip="CDS library name.">CDS_LIB_NAME</ref>,</highlight></codeline>
<codeline lineno="381"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="stringliteral">&quot;Could<sp/>not<sp/>delete<sp/>dimension:<sp/>%s\n&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="382"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="stringliteral">&quot;<sp/>-&gt;<sp/>the<sp/>group<sp/>definition<sp/>lock<sp/>is<sp/>set<sp/>to:<sp/>%d\n&quot;</highlight><highlight class="normal">,</highlight></codeline>
<codeline lineno="383"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__CDSObject_1gad6d5f86f7c842c2e9fc594fe3cfed2bb" kindref="member" tooltip="Get the path of a CDS Object.">cds_get_object_path</ref>(dim),<sp/>group-&gt;<ref refid="structCDSGroup_1a8dd7c7d100b4ada1a2399c88e3560659" kindref="member" tooltip="definition lock">def_lock</ref>);</highlight></codeline>
<codeline lineno="384"><highlight class="normal"></highlight></codeline>
<codeline lineno="385"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal">(0);</highlight></codeline>
<codeline lineno="386"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="387"><highlight class="normal"></highlight></codeline>
<codeline lineno="388"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Delete<sp/>variables<sp/>using<sp/>this<sp/>dimension<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="389"><highlight class="normal"></highlight></codeline>
<codeline lineno="390"><highlight class="normal"><sp/><sp/><sp/><sp/>_cds_delete_dependant_vars(group,<sp/>dim);</highlight></codeline>
<codeline lineno="391"><highlight class="normal"></highlight></codeline>
<codeline lineno="392"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Remove<sp/>this<sp/>dimension<sp/>from<sp/>the<sp/>group<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="393"><highlight class="normal"></highlight></codeline>
<codeline lineno="394"><highlight class="normal"><sp/><sp/><sp/><sp/>_cds_remove_object((</highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>**)group-&gt;<ref refid="structCDSGroup_1a0eb01cfb0dd9639f4701192cbaf73f7b" kindref="member" tooltip="array of dimension pointers">dims</ref>,<sp/>&amp;(group-&gt;<ref refid="structCDSGroup_1a83d9cc50f0db727c86e90100b36a6343" kindref="member" tooltip="number of dimensions">ndims</ref>),<sp/>dim);</highlight></codeline>
<codeline lineno="395"><highlight class="normal"></highlight></codeline>
<codeline lineno="396"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Destroy<sp/>the<sp/>dimension<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="397"><highlight class="normal"></highlight></codeline>
<codeline lineno="398"><highlight class="normal"><sp/><sp/><sp/><sp/>_cds_destroy_dim(dim);</highlight></codeline>
<codeline lineno="399"><highlight class="normal"></highlight></codeline>
<codeline lineno="400"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal">(1);</highlight></codeline>
<codeline lineno="401"><highlight class="normal">}</highlight></codeline>
<codeline lineno="402"><highlight class="normal"></highlight><highlight class="comment"></highlight></codeline>
<codeline lineno="403"><highlight class="comment">/**</highlight></codeline>
<codeline lineno="404"><highlight class="comment"><sp/>*<sp/><sp/>Get<sp/>a<sp/>CDS<sp/>Dimension.</highlight></codeline>
<codeline lineno="405"><highlight class="comment"><sp/>*</highlight></codeline>
<codeline lineno="406"><highlight class="comment"><sp/>*<sp/><sp/>This<sp/>function<sp/>will<sp/>search<sp/>the<sp/>specified<sp/>group<sp/>then<sp/>and<sp/>all</highlight></codeline>
<codeline lineno="407"><highlight class="comment"><sp/>*<sp/><sp/>ancestor<sp/>groups<sp/>for<sp/>a<sp/>dimension<sp/>with<sp/>the<sp/>specified<sp/>name.</highlight></codeline>
<codeline lineno="408"><highlight class="comment"><sp/>*<sp/><sp/>The<sp/>first<sp/>dimension<sp/>found<sp/>will<sp/>be<sp/>returned.</highlight></codeline>
<codeline lineno="409"><highlight class="comment"><sp/>*</highlight></codeline>
<codeline lineno="410"><highlight class="comment"><sp/>*<sp/><sp/>@param<sp/><sp/>group<sp/>-<sp/>pointer<sp/>to<sp/>the<sp/>group</highlight></codeline>
<codeline lineno="411"><highlight class="comment"><sp/>*<sp/><sp/>@param<sp/><sp/>name<sp/><sp/>-<sp/>name<sp/>of<sp/>the<sp/>dimension</highlight></codeline>
<codeline lineno="412"><highlight class="comment"><sp/>*</highlight></codeline>
<codeline lineno="413"><highlight class="comment"><sp/>*<sp/><sp/>@return</highlight></codeline>
<codeline lineno="414"><highlight class="comment"><sp/>*<sp/><sp/><sp/><sp/>-<sp/>pointer<sp/>to<sp/>the<sp/>dimension</highlight></codeline>
<codeline lineno="415"><highlight class="comment"><sp/>*<sp/><sp/><sp/><sp/>-<sp/>NULL<sp/>if<sp/>not<sp/>found</highlight></codeline>
<codeline lineno="416"><highlight class="comment"><sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="417" refid="group__CDS__DIMS_1gac7708a2ede68b01310a7881757a409ca" refkind="member"><highlight class="normal"><ref refid="structCDSDim" kindref="compound" tooltip="CDS Dimension.">CDSDim</ref><sp/>*<ref refid="group__CDS__DIMS_1gac7708a2ede68b01310a7881757a409ca" kindref="member" tooltip="Get a CDS Dimension.">cds_get_dim</ref>(<ref refid="structCDSGroup" kindref="compound" tooltip="CDS Group.">CDSGroup</ref><sp/>*group,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*name)</highlight></codeline>
<codeline lineno="418"><highlight class="normal">{</highlight></codeline>
<codeline lineno="419"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="structCDSDim" kindref="compound" tooltip="CDS Dimension.">CDSDim</ref><sp/>*dim;</highlight></codeline>
<codeline lineno="420"><highlight class="normal"></highlight></codeline>
<codeline lineno="421"><highlight class="normal"><sp/><sp/><sp/><sp/>dim<sp/>=<sp/>_cds_get_object((</highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>**)group-&gt;<ref refid="structCDSGroup_1a0eb01cfb0dd9639f4701192cbaf73f7b" kindref="member" tooltip="array of dimension pointers">dims</ref>,<sp/>group-&gt;<ref refid="structCDSGroup_1a83d9cc50f0db727c86e90100b36a6343" kindref="member" tooltip="number of dimensions">ndims</ref>,<sp/>name);</highlight></codeline>
<codeline lineno="422"><highlight class="normal"></highlight></codeline>
<codeline lineno="423"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!dim<sp/>&amp;&amp;<sp/>group-&gt;<ref refid="structCDSGroup_1ac2b35392066b9a309fbdf8eb28267875" kindref="member" tooltip="parent object">parent</ref>)<sp/>{</highlight></codeline>
<codeline lineno="424"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>dim<sp/>=<sp/><ref refid="group__CDS__DIMS_1gac7708a2ede68b01310a7881757a409ca" kindref="member" tooltip="Get a CDS Dimension.">cds_get_dim</ref>((<ref refid="structCDSGroup" kindref="compound" tooltip="CDS Group.">CDSGroup</ref><sp/>*)group-&gt;<ref refid="structCDSGroup_1ac2b35392066b9a309fbdf8eb28267875" kindref="member" tooltip="parent object">parent</ref>,<sp/>name);</highlight></codeline>
<codeline lineno="425"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="426"><highlight class="normal"></highlight></codeline>
<codeline lineno="427"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal">(dim);</highlight></codeline>
<codeline lineno="428"><highlight class="normal">}</highlight></codeline>
<codeline lineno="429"><highlight class="normal"></highlight><highlight class="comment"></highlight></codeline>
<codeline lineno="430"><highlight class="comment">/**</highlight></codeline>
<codeline lineno="431"><highlight class="comment"><sp/>*<sp/><sp/>Get<sp/>the<sp/>coordinate<sp/>variable<sp/>for<sp/>a<sp/>CDS<sp/>Dimension.</highlight></codeline>
<codeline lineno="432"><highlight class="comment"><sp/>*</highlight></codeline>
<codeline lineno="433"><highlight class="comment"><sp/>*<sp/><sp/>@param<sp/><sp/>dim<sp/>-<sp/>pointer<sp/>to<sp/>the<sp/>dimension</highlight></codeline>
<codeline lineno="434"><highlight class="comment"><sp/>*</highlight></codeline>
<codeline lineno="435"><highlight class="comment"><sp/>*<sp/><sp/>@return</highlight></codeline>
<codeline lineno="436"><highlight class="comment"><sp/>*<sp/><sp/><sp/><sp/>-<sp/>pointer<sp/>to<sp/>the<sp/>coordinate<sp/>variable</highlight></codeline>
<codeline lineno="437"><highlight class="comment"><sp/>*<sp/><sp/><sp/><sp/>-<sp/>NULL<sp/>if<sp/>not<sp/>found</highlight></codeline>
<codeline lineno="438"><highlight class="comment"><sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="439" refid="group__CDS__DIMS_1gacb760a7fa46c61012805dc09b055c78c" refkind="member"><highlight class="normal"><ref refid="structCDSVar" kindref="compound" tooltip="CDS Variable.">CDSVar</ref><sp/>*<ref refid="group__CDS__DIMS_1gacb760a7fa46c61012805dc09b055c78c" kindref="member" tooltip="Get the coordinate variable for a CDS Dimension.">cds_get_dim_var</ref>(<ref refid="structCDSDim" kindref="compound" tooltip="CDS Dimension.">CDSDim</ref><sp/>*dim)</highlight></codeline>
<codeline lineno="440"><highlight class="normal">{</highlight></codeline>
<codeline lineno="441"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal">(<ref refid="group__CDS__VARS_1gacdefa1f21e178776cd8d3a7a7c704e7c" kindref="member" tooltip="Get a CDS Variable.">cds_get_var</ref>((<ref refid="structCDSGroup" kindref="compound" tooltip="CDS Group.">CDSGroup</ref><sp/>*)dim-&gt;<ref refid="structCDSDim_1ac47ee4d577c69968d0af29d469dc96bc" kindref="member" tooltip="parent object">parent</ref>,<sp/>dim-&gt;<ref refid="structCDSDim_1a8288e3efe2ccd4fd245db6cfd3af9022" kindref="member" tooltip="object name">name</ref>));</highlight></codeline>
<codeline lineno="442"><highlight class="normal">}</highlight></codeline>
<codeline lineno="443"><highlight class="normal"></highlight><highlight class="comment"></highlight></codeline>
<codeline lineno="444"><highlight class="comment">/**</highlight></codeline>
<codeline lineno="445"><highlight class="comment"><sp/>*<sp/><sp/>Rename<sp/>a<sp/>CDS<sp/>Dimension.</highlight></codeline>
<codeline lineno="446"><highlight class="comment"><sp/>*</highlight></codeline>
<codeline lineno="447"><highlight class="comment"><sp/>*<sp/><sp/>This<sp/>function<sp/>will<sp/>also<sp/>rename<sp/>the<sp/>coordinate<sp/>variable<sp/>for<sp/>the</highlight></codeline>
<codeline lineno="448"><highlight class="comment"><sp/>*<sp/><sp/>dimension<sp/>if<sp/>one<sp/>exists.</highlight></codeline>
<codeline lineno="449"><highlight class="comment"><sp/>*</highlight></codeline>
<codeline lineno="450"><highlight class="comment"><sp/>*<sp/><sp/>Error<sp/>messages<sp/>from<sp/>this<sp/>function<sp/>are<sp/>sent<sp/>to<sp/>the<sp/>message<sp/>handler</highlight></codeline>
<codeline lineno="451"><highlight class="comment"><sp/>*<sp/><sp/>(see<sp/>msngr_init_log()<sp/>and<sp/>msngr_init_mail()).</highlight></codeline>
<codeline lineno="452"><highlight class="comment"><sp/>*</highlight></codeline>
<codeline lineno="453"><highlight class="comment"><sp/>*<sp/><sp/>@param<sp/><sp/>dim<sp/><sp/>-<sp/>pointer<sp/>to<sp/>the<sp/>dimension</highlight></codeline>
<codeline lineno="454"><highlight class="comment"><sp/>*<sp/><sp/>@param<sp/><sp/>name<sp/>-<sp/>pointer<sp/>to<sp/>the<sp/>new<sp/>dimension<sp/>name</highlight></codeline>
<codeline lineno="455"><highlight class="comment"><sp/>*</highlight></codeline>
<codeline lineno="456"><highlight class="comment"><sp/>*<sp/><sp/>@return</highlight></codeline>
<codeline lineno="457"><highlight class="comment"><sp/>*<sp/><sp/><sp/><sp/>-<sp/>1<sp/>if<sp/>the<sp/>dimension<sp/>was<sp/>deleted</highlight></codeline>
<codeline lineno="458"><highlight class="comment"><sp/>*<sp/><sp/><sp/><sp/>-<sp/>0<sp/>if:</highlight></codeline>
<codeline lineno="459"><highlight class="comment"><sp/>*<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>-<sp/>a<sp/>dimension<sp/>with<sp/>the<sp/>new<sp/>name<sp/>already<sp/>exists</highlight></codeline>
<codeline lineno="460"><highlight class="comment"><sp/>*<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>-<sp/>the<sp/>dimension<sp/>is<sp/>locked</highlight></codeline>
<codeline lineno="461"><highlight class="comment"><sp/>*<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>-<sp/>the<sp/>group<sp/>is<sp/>locked</highlight></codeline>
<codeline lineno="462"><highlight class="comment"><sp/>*<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>-<sp/>the<sp/>coordinate<sp/>variable<sp/>could<sp/>not<sp/>be<sp/>renamed<sp/>(see<sp/>cds_rename_var())</highlight></codeline>
<codeline lineno="463"><highlight class="comment"><sp/>*<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>-<sp/>a<sp/>memory<sp/>allocation<sp/>error<sp/>occured</highlight></codeline>
<codeline lineno="464"><highlight class="comment"><sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="465" refid="group__CDS__DIMS_1ga81f95ad993db18525720f62a3f09207e" refkind="member"><highlight class="normal"></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="group__CDS__DIMS_1ga81f95ad993db18525720f62a3f09207e" kindref="member" tooltip="Rename a CDS Dimension.">cds_rename_dim</ref>(<ref refid="structCDSDim" kindref="compound" tooltip="CDS Dimension.">CDSDim</ref><sp/>*dim,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*name)</highlight></codeline>
<codeline lineno="466"><highlight class="normal">{</highlight></codeline>
<codeline lineno="467"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="structCDSGroup" kindref="compound" tooltip="CDS Group.">CDSGroup</ref><sp/>*group<sp/>=<sp/>(<ref refid="structCDSGroup" kindref="compound" tooltip="CDS Group.">CDSGroup</ref><sp/>*)dim-&gt;<ref refid="structCDSDim_1ac47ee4d577c69968d0af29d469dc96bc" kindref="member" tooltip="parent object">parent</ref>;</highlight></codeline>
<codeline lineno="468"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="structCDSVar" kindref="compound" tooltip="CDS Variable.">CDSVar</ref><sp/><sp/><sp/>*coord_var;</highlight></codeline>
<codeline lineno="469"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/><sp/><sp/><sp/><sp/>*new_name;</highlight></codeline>
<codeline lineno="470"><highlight class="normal"></highlight></codeline>
<codeline lineno="471"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Check<sp/>if<sp/>a<sp/>dimension<sp/>with<sp/>the<sp/>new<sp/>name<sp/>already<sp/>exists<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="472"><highlight class="normal"></highlight></codeline>
<codeline lineno="473"><highlight class="normal"><sp/><sp/><sp/><sp/>if<sp/>(<ref refid="group__CDS__DIMS_1gac7708a2ede68b01310a7881757a409ca" kindref="member" tooltip="Get a CDS Dimension.">cds_get_dim</ref>(group,<sp/>name))<sp/>{</highlight></codeline>
<codeline lineno="474"><highlight class="normal"></highlight></codeline>
<codeline lineno="475"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__MESSENGER_1ga3daef1e04a92bab649cd28129f18d42a" kindref="member" external="libmsngr.tag">ERROR</ref>(<sp/><ref refid="cds3_8h_1a95b6c6209cd7b162cb9ddffed477478c" kindref="member" tooltip="CDS library name.">CDS_LIB_NAME</ref>,</highlight></codeline>
<codeline lineno="476"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="stringliteral">&quot;Could<sp/>not<sp/>rename<sp/>dimension:<sp/>%s<sp/>to<sp/>%s\n&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="477"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="stringliteral">&quot;<sp/>-&gt;<sp/>dimension<sp/>exists\n&quot;</highlight><highlight class="normal">,</highlight></codeline>
<codeline lineno="478"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__CDSObject_1gad6d5f86f7c842c2e9fc594fe3cfed2bb" kindref="member" tooltip="Get the path of a CDS Object.">cds_get_object_path</ref>(dim),<sp/>name);</highlight></codeline>
<codeline lineno="479"><highlight class="normal"></highlight></codeline>
<codeline lineno="480"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal">(0);</highlight></codeline>
<codeline lineno="481"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="482"><highlight class="normal"></highlight></codeline>
<codeline lineno="483"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Check<sp/>if<sp/>the<sp/>dimension<sp/>is<sp/>locked<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="484"><highlight class="normal"></highlight></codeline>
<codeline lineno="485"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(dim-&gt;<ref refid="structCDSDim_1a1e611683a0c2aca18b2f38c008fd5c48" kindref="member" tooltip="definition lock">def_lock</ref>)<sp/>{</highlight></codeline>
<codeline lineno="486"><highlight class="normal"></highlight></codeline>
<codeline lineno="487"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__MESSENGER_1ga3daef1e04a92bab649cd28129f18d42a" kindref="member" external="libmsngr.tag">ERROR</ref>(<sp/><ref refid="cds3_8h_1a95b6c6209cd7b162cb9ddffed477478c" kindref="member" tooltip="CDS library name.">CDS_LIB_NAME</ref>,</highlight></codeline>
<codeline lineno="488"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="stringliteral">&quot;Could<sp/>not<sp/>rename<sp/>dimension:<sp/>%s<sp/>to<sp/>%s\n&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="489"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="stringliteral">&quot;<sp/>-&gt;<sp/>the<sp/>dimension<sp/>definition<sp/>lock<sp/>is<sp/>set<sp/>to:<sp/>%d\n&quot;</highlight><highlight class="normal">,</highlight></codeline>
<codeline lineno="490"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__CDSObject_1gad6d5f86f7c842c2e9fc594fe3cfed2bb" kindref="member" tooltip="Get the path of a CDS Object.">cds_get_object_path</ref>(dim),<sp/>name,<sp/>dim-&gt;<ref refid="structCDSDim_1a1e611683a0c2aca18b2f38c008fd5c48" kindref="member" tooltip="definition lock">def_lock</ref>);</highlight></codeline>
<codeline lineno="491"><highlight class="normal"></highlight></codeline>
<codeline lineno="492"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal">(0);</highlight></codeline>
<codeline lineno="493"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="494"><highlight class="normal"></highlight></codeline>
<codeline lineno="495"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Check<sp/>if<sp/>the<sp/>group<sp/>is<sp/>locked<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="496"><highlight class="normal"></highlight></codeline>
<codeline lineno="497"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(group-&gt;<ref refid="structCDSGroup_1a8dd7c7d100b4ada1a2399c88e3560659" kindref="member" tooltip="definition lock">def_lock</ref>)<sp/>{</highlight></codeline>
<codeline lineno="498"><highlight class="normal"></highlight></codeline>
<codeline lineno="499"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__MESSENGER_1ga3daef1e04a92bab649cd28129f18d42a" kindref="member" external="libmsngr.tag">ERROR</ref>(<sp/><ref refid="cds3_8h_1a95b6c6209cd7b162cb9ddffed477478c" kindref="member" tooltip="CDS library name.">CDS_LIB_NAME</ref>,</highlight></codeline>
<codeline lineno="500"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="stringliteral">&quot;Could<sp/>not<sp/>rename<sp/>dimension:<sp/>%s<sp/>to<sp/>%s\n&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="501"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="stringliteral">&quot;<sp/>-&gt;<sp/>the<sp/>group<sp/>definition<sp/>lock<sp/>is<sp/>set<sp/>to:<sp/>%d\n&quot;</highlight><highlight class="normal">,</highlight></codeline>
<codeline lineno="502"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__CDSObject_1gad6d5f86f7c842c2e9fc594fe3cfed2bb" kindref="member" tooltip="Get the path of a CDS Object.">cds_get_object_path</ref>(dim),<sp/>name,<sp/>group-&gt;<ref refid="structCDSGroup_1a8dd7c7d100b4ada1a2399c88e3560659" kindref="member" tooltip="definition lock">def_lock</ref>);</highlight></codeline>
<codeline lineno="503"><highlight class="normal"></highlight></codeline>
<codeline lineno="504"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal">(0);</highlight></codeline>
<codeline lineno="505"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="506"><highlight class="normal"></highlight></codeline>
<codeline lineno="507"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Create<sp/>the<sp/>new<sp/>dimension<sp/>name<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="508"><highlight class="normal"></highlight></codeline>
<codeline lineno="509"><highlight class="normal"><sp/><sp/><sp/><sp/>new_name<sp/>=<sp/>strdup(name);</highlight></codeline>
<codeline lineno="510"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!new_name)<sp/>{</highlight></codeline>
<codeline lineno="511"><highlight class="normal"></highlight></codeline>
<codeline lineno="512"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__MESSENGER_1ga3daef1e04a92bab649cd28129f18d42a" kindref="member" external="libmsngr.tag">ERROR</ref>(<sp/><ref refid="cds3_8h_1a95b6c6209cd7b162cb9ddffed477478c" kindref="member" tooltip="CDS library name.">CDS_LIB_NAME</ref>,</highlight></codeline>
<codeline lineno="513"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="stringliteral">&quot;Could<sp/>not<sp/>rename<sp/>dimension:<sp/>%s<sp/>to<sp/>%s\n&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="514"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="stringliteral">&quot;<sp/>-&gt;<sp/>memory<sp/>allocation<sp/>error\n&quot;</highlight><highlight class="normal">,</highlight></codeline>
<codeline lineno="515"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__CDSObject_1gad6d5f86f7c842c2e9fc594fe3cfed2bb" kindref="member" tooltip="Get the path of a CDS Object.">cds_get_object_path</ref>(dim),<sp/>name);</highlight></codeline>
<codeline lineno="516"><highlight class="normal"></highlight></codeline>
<codeline lineno="517"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal">(0);</highlight></codeline>
<codeline lineno="518"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="519"><highlight class="normal"></highlight></codeline>
<codeline lineno="520"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Rename<sp/>the<sp/>coordinate<sp/>variable<sp/>if<sp/>one<sp/>exists<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="521"><highlight class="normal"></highlight></codeline>
<codeline lineno="522"><highlight class="normal"><sp/><sp/><sp/><sp/>coord_var<sp/>=<sp/><ref refid="group__CDS__DIMS_1gacb760a7fa46c61012805dc09b055c78c" kindref="member" tooltip="Get the coordinate variable for a CDS Dimension.">cds_get_dim_var</ref>(dim);</highlight></codeline>
<codeline lineno="523"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(coord_var)<sp/>{</highlight></codeline>
<codeline lineno="524"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!<ref refid="group__CDS__VARS_1ga43cb1420fc3f29c01a0cf519682f773e" kindref="member" tooltip="Rename a CDS Variable.">cds_rename_var</ref>(coord_var,<sp/>new_name))<sp/>{</highlight></codeline>
<codeline lineno="525"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal">(0);</highlight></codeline>
<codeline lineno="526"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="527"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="528"><highlight class="normal"></highlight></codeline>
<codeline lineno="529"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Rename<sp/>the<sp/>dimension<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="530"><highlight class="normal"></highlight></codeline>
<codeline lineno="531"><highlight class="normal"><sp/><sp/><sp/><sp/>free(dim-&gt;<ref refid="structCDSDim_1a8288e3efe2ccd4fd245db6cfd3af9022" kindref="member" tooltip="object name">name</ref>);</highlight></codeline>
<codeline lineno="532"><highlight class="normal"><sp/><sp/><sp/><sp/>dim-&gt;<ref refid="structCDSDim_1a8288e3efe2ccd4fd245db6cfd3af9022" kindref="member" tooltip="object name">name</ref><sp/>=<sp/>new_name;</highlight></codeline>
<codeline lineno="533"><highlight class="normal"></highlight></codeline>
<codeline lineno="534"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal">(1);</highlight></codeline>
<codeline lineno="535"><highlight class="normal">}</highlight></codeline>
    </programlisting>
    <location file="/home/ermold/dev/Linux-x86_64-el6/afl/src/libcds3/cds_dims.c"/>
  </compounddef>
</doxygen>
