Files
modules/xref/cmdVersion.c.html
rkowen 39b9c33649 * Fixed the "module use --append" feature, and fixed the tests
for "module use", "module use --append", and "module unuse".
* Changed the global variable names (flags,current_module) to
  (g_flags, g_current_module) to identify their ubiquity in the
  module source.
2001-06-09 09:48:47 +00:00

775 lines
33 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<!-- This HTML file generated by cxref. -->
<!-- cxref program (c) Andrew M. Bishop 1995,96,97,98,99. -->
<!--
Cxref: cxref -block-comments -verbatim-comments -xref-all -index-all -html -Oxref cmdVersion.c
CPP : gcc -E -C -dD -dI
-->
<HTML>
<HEAD>
<TITLE>Cross reference for cmdVersion.c of cxref.</TITLE>
</HEAD>
<BODY>
<h1><a name="file">File cmdVersion.c</a></h1>
<pre>
** ** Module Header ******************************************************* **
** **
** Modules Revision 3.0 **
** Providing a flexible user environment **
** **
** File: cmdVersion.c **
** First Edition: 95/12/28 **
** **
** Authors: Jens Hamisch, jens@Strawberry.COM **
** **
** Description: The Tcl module-version routine which provides the **
** definition of symbolic version names and the module- **
** alias command providing the definition of module and **
** version aliases **
** **
** Exports: cmdModuleVersion **
** cmdModuleAlias **
** CleanupVersion **
** AliasLookup **
** ExpandVersions **
** **
** Notes: This module defines the callback functions for the defi- **
** nition of symbolic module names and module aliases. The **
** syntax of the according commands is defined as: **
** **
** Module-Versions: **
** module-version &lt;module&gt;/&lt;version&gt; &lt;name&gt; [ &lt;name&gt; ... ] **
** module-version /&lt;version&gt; &lt;name&gt; [ &lt;name&gt; ... ] **
** module-version &lt;module&gt; &lt;name&gt; [ &lt;name&gt; ... ] **
** module-version &lt;alias&gt; &lt;name&gt; [ &lt;name&gt; ... ] **
** **
** Module-Alias: **
** module-alias &lt;alias&gt; &lt;module&gt;/&lt;version&gt; **
** module-alias &lt;alias&gt; /&lt;version&gt; **
** module-alias &lt;alias&gt; &lt;module&gt; **
** module-alias &lt;alias&gt; &lt;alias&gt; **
** **
** **
** ************************************************************************ **
</pre>
<table>
<tr><td>References Variables:
<td><a href="cmdVersion.c.html#var-Id">Id</a><td><a href="cmdVersion.c.html#var-Id">cmdVersion.c</a>
</table>
<hr>
<h2>Included Files</h2>
<ul>
<li><tt><a href="modules_def.h.html#file">#include &quot;modules_def.h&quot;</a></tt>
<ul>
<li><tt>#include &lt;stdio.h&gt;</tt>
<li><tt>#include &lt;tcl.h&gt;</tt>
<li><tt><a href="config.h.html#file">#include &quot;config.h&quot;</a></tt>
<li><tt>#include &lt;stdlib.h&gt;</tt>
<li><tt>#include &lt;string.h&gt;</tt>
<li><tt>#include &lt;unistd.h&gt;</tt>
<li><tt>#include &lt;sys/types.h&gt;</tt>
<li><tt>#include &lt;ctype.h&gt;</tt>
<li><tt>#include &lt;sys/stat.h&gt;</tt>
<li><tt>#include &lt;sys/termios.h&gt;</tt>
<li><tt>#include &lt;fcntl.h&gt;</tt>
<li><tt>#include &lt;sys/ioctl.h&gt;</tt>
<li><tt>#include &lt;dirent.h&gt;</tt>
<li><tt>#include &lt;errno.h&gt;</tt>
</ul>
</ul>
<hr>
<h2>Preprocessor definitions</h2>
<tt>#define HISTTAB 100</tt><br>
<hr>
<h2><a name="type-ModModule">Typedef ModModule</a></h2>
<tt>typedef struct _mod_module ModModule</tt><br>
<table>
<tr><td><tt>struct _mod_module</tt><td>&nbsp;
<tr><td>&nbsp;&nbsp;&nbsp;<tt>{</tt><td>&nbsp;
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<tt>struct _mod_module* next;</tt><td>&nbsp;
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<tt>struct _mod_name* version;</tt><td>&nbsp;
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<tt>struct _mod_name* name;</tt><td>&nbsp;
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<tt>char* module;</tt><td>&nbsp;
<tr><td>&nbsp;&nbsp;&nbsp;<tt>}</tt><td>&nbsp;
</table>
<hr>
<h2><a name="type-ModName">Typedef ModName</a></h2>
<tt>typedef struct _mod_name ModName</tt><br>
<table>
<tr><td><tt>struct _mod_name</tt><td>&nbsp;
<tr><td>&nbsp;&nbsp;&nbsp;<tt>{</tt><td>&nbsp;
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<tt>struct _mod_name* next;</tt><td>&nbsp;
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<tt>struct _mod_name* ptr;</tt><td>&nbsp;
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<tt>struct _mod_name* version;</tt><td>&nbsp;
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<tt>struct _mod_module* module;</tt><td>&nbsp;
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<tt>char* name;</tt><td>&nbsp;
<tr><td>&nbsp;&nbsp;&nbsp;<tt>}</tt><td>&nbsp;
</table>
<hr>
<h2>Local Variables</h2>
<b><a name="var-Id">Id</a></b><br>
<tt>static char Id[]</tt><br>
<table>
<tr><td>Used in:
<td>&nbsp;<td><a href="cmdVersion.c.html#file">cmdVersion.c</a>
</table>
<p>
<b><a name="var-UseId">UseId</a></b><br>
<tt>static void* UseId[]</tt><br>
<p>
<b><a name="var-module_name">module_name</a></b><br>
<tt>static char module_name[]</tt><br>
<table>
<tr><td>Used in:
<td><a href="#func-AddModule">AddModule()</a>
<tr><td>&nbsp;
<td><a href="#func-AddName">AddName()</a>
<tr><td>&nbsp;
<td><a href="#func-AliasLookup">AliasLookup()</a>
<tr><td>&nbsp;
<td><a href="#func-CheckModuleVersion">CheckModuleVersion()</a>
<tr><td>&nbsp;
<td><a href="#func-ExpandVersions">ExpandVersions()</a>
<tr><td>&nbsp;
<td><a href="#func-VersionLookup">VersionLookup()</a>
<tr><td>&nbsp;
<td><a href="#func-cmdModuleAlias">cmdModuleAlias()</a>
<tr><td>&nbsp;
<td><a href="#func-cmdModuleVersion">cmdModuleVersion()</a>
<tr><td>&nbsp;
<td><a href="#func-scan_versions">scan_versions()</a>
</table>
<p>
<b><a name="var-modlist">modlist</a></b><br>
<tt>static ModModule* modlist</tt><br>
<table>
<tr><td>Used in:
<td><a href="#func-AddModule">AddModule()</a>
<tr><td>&nbsp;
<td><a href="#func-CleanupVersion">CleanupVersion()</a>
<tr><td>&nbsp;
<td><a href="#func-FindModule">FindModule()</a>
</table>
<p>
<b><a name="var-aliaslist">aliaslist</a></b><br>
<tt>static ModName* aliaslist</tt><br>
<table>
<tr><td>Used in:
<td><a href="#func-AliasLookup">AliasLookup()</a>
<tr><td>&nbsp;
<td><a href="#func-CleanupVersion">CleanupVersion()</a>
<tr><td>&nbsp;
<td><a href="#func-cmdModuleAlias">cmdModuleAlias()</a>
</table>
<hr>
<h2><a name="func-AliasLookup">Global Function AliasLookup()</a></h2>
<pre>
** ** Function-Header ***************************************************** **
** **
** Function: AliasLookup **
** **
** Description: Resolves a given alias to a module/version string **
** **
** First Edition: 95/12/28 **
** **
** Parameters: char *alias Name of the alias to be re- **
** solved **
** char **module Buffer for the module name **
** char **version Buffer for the module version**
** **
** Result: int 1 Success, value in the buffer **
** is valid **
** 0 Any error, or not found **
** **
** Attached Globals: aliaslist List containing all alises **
** **
** ************************************************************************ **
</pre>
<tt>int AliasLookup ( char* alias, char** module, char** version )</tt><br>
<table>
<tr><td>Prototyped in:
<td colspan=2><a href="modules_def.h.html#file">modules_def.h</a>
<tr><td>Calls:
<td><a href="cmdVersion.c.html#func-FindName">FindName()</a><td><a href="cmdVersion.c.html#func-FindName">cmdVersion.c</a>
<tr><td>&nbsp;
<td><a href="error.c.html#func-Module_Error">Module_Error()</a><td><a href="error.c.html#func-Module_Error">error.c</a>
<tr><td>Called by:
<td><a href="cmdVersion.c.html#func-CheckModuleVersion">CheckModuleVersion()</a><td><a href="cmdVersion.c.html#func-CheckModuleVersion">cmdVersion.c</a>
<tr><td>&nbsp;
<td><a href="cmdVersion.c.html#func-VersionLookup">VersionLookup()</a><td><a href="cmdVersion.c.html#func-VersionLookup">cmdVersion.c</a>
<tr><td>&nbsp;
<td><a href="cmdInfo.c.html#func-cmdModuleInfo">cmdModuleInfo()</a><td><a href="cmdInfo.c.html#func-cmdModuleInfo">cmdInfo.c</a>
<tr><td>References Variables:
<td><a href="cmdVersion.c.html#var-aliaslist">aliaslist</a><td><a href="cmdVersion.c.html#var-aliaslist">cmdVersion.c</a>
<tr><td>&nbsp;
<td><a href="cmdVersion.c.html#var-module_name">module_name</a><td><a href="cmdVersion.c.html#var-module_name">cmdVersion.c</a>
</table>
<hr>
<h2><a name="func-CleanupVersion">Global Function CleanupVersion()</a></h2>
<pre>
** ** Function-Header ***************************************************** **
** **
** Function: CleanupVersion **
** **
** Description: Cleanup the version structure **
** **
** First Edition: 95/12/28 **
** **
** Parameters: - **
** **
** Result: - **
** **
** Attached Globals: modlist List containing all version names **
** aliaslist List containing all alises **
** **
** ************************************************************************ **
</pre>
<tt>void CleanupVersion ( ModModule* ptr )</tt><br>
<table>
<tr><td>Calls:
<td><a href="cmdVersion.c.html#func-CleanupName">CleanupName()</a><td><a href="cmdVersion.c.html#func-CleanupName">cmdVersion.c</a>
<tr><td>&nbsp;
<td><a href="cmdVersion.c.html#func-CleanupVersionSub">CleanupVersionSub()</a><td><a href="cmdVersion.c.html#func-CleanupVersionSub">cmdVersion.c</a>
<tr><td>Called by:
<td><a href="cmdVersion.c.html#func-CleanupVersionSub">CleanupVersionSub()</a><td><a href="cmdVersion.c.html#func-CleanupVersionSub">cmdVersion.c</a>
<tr><td>References Variables:
<td><a href="cmdVersion.c.html#var-aliaslist">aliaslist</a><td><a href="cmdVersion.c.html#var-aliaslist">cmdVersion.c</a>
<tr><td>&nbsp;
<td><a href="cmdVersion.c.html#var-modlist">modlist</a><td><a href="cmdVersion.c.html#var-modlist">cmdVersion.c</a>
</table>
<hr>
<h2><a name="func-ExpandVersions">Global Function ExpandVersions()</a></h2>
<pre>
** ** Function-Header ***************************************************** **
** **
** Function: ExpandVersions **
** **
** Description: Callback function for 'version' **
** **
** First Edition: 95/12/28 **
** **
** Parameters: char *name Name to be expanded **
** **
** Result: char* NULL No symbols found **
** Otherwise Pointer to the list string **
** **
** ************************************************************************ **
</pre>
<tt>char* ExpandVersions ( char* name )</tt><br>
<table>
<tr><td>Prototyped in:
<td colspan=2><a href="modules_def.h.html#file">modules_def.h</a>
<tr><td>Calls:
<td><a href="cmdVersion.c.html#func-CheckModuleVersion">CheckModuleVersion()</a><td><a href="cmdVersion.c.html#func-CheckModuleVersion">cmdVersion.c</a>
<tr><td>&nbsp;
<td><a href="cmdVersion.c.html#func-FindModule">FindModule()</a><td><a href="cmdVersion.c.html#func-FindModule">cmdVersion.c</a>
<tr><td>&nbsp;
<td><a href="cmdVersion.c.html#func-FindName">FindName()</a><td><a href="cmdVersion.c.html#func-FindName">cmdVersion.c</a>
<tr><td>&nbsp;
<td><a href="error.c.html#func-Module_Error">Module_Error()</a><td><a href="error.c.html#func-Module_Error">error.c</a>
<tr><td>&nbsp;
<td><a href="cmdVersion.c.html#func-scan_versions">scan_versions()</a><td><a href="cmdVersion.c.html#func-scan_versions">cmdVersion.c</a>
<tr><td>&nbsp;
<td colspan=2>strrchr()
<tr><td>Called by:
<td><a href="cmdInfo.c.html#func-cmdModuleInfo">cmdModuleInfo()</a><td><a href="cmdInfo.c.html#func-cmdModuleInfo">cmdInfo.c</a>
<tr><td>&nbsp;
<td><a href="ModuleCmd_Avail.c.html#func-print_aligned_files">print_aligned_files()</a><td><a href="ModuleCmd_Avail.c.html#func-print_aligned_files">ModuleCmd_Avail.c</a>
<tr><td>References Variables:
<td><a href="cmdVersion.c.html#var-module_name">module_name</a><td><a href="cmdVersion.c.html#var-module_name">cmdVersion.c</a>
</table>
<hr>
<h2><a name="func-VersionLookup">Global Function VersionLookup()</a></h2>
<pre>
** ** Function-Header ***************************************************** **
** **
** Function: VersionLookup **
** **
** Description: Resolves a given alias to a module/version string **
** **
** First Edition: 95/12/28 **
** **
** Parameters: char *alias Name of the alias to be re- **
** solved **
** char **module Buffer for the module name **
** char **version Buffer for the module version**
** **
** Result: int 1 Success, value in the buffer **
** is valid **
** 0 Any error, or not found **
<br>
** Attached Globals: g_current_module The module which is handled **
** by the current command **
** **
** ************************************************************************ **
</pre>
<tt>int VersionLookup ( char* name, char** module, char** version )</tt><br>
<table>
<tr><td>Prototyped in:
<td colspan=2><a href="modules_def.h.html#file">modules_def.h</a>
<tr><td>Calls:
<td><a href="cmdVersion.c.html#func-AliasLookup">AliasLookup()</a><td><a href="cmdVersion.c.html#func-AliasLookup">cmdVersion.c</a>
<tr><td>&nbsp;
<td><a href="cmdVersion.c.html#func-FindModule">FindModule()</a><td><a href="cmdVersion.c.html#func-FindModule">cmdVersion.c</a>
<tr><td>&nbsp;
<td><a href="cmdVersion.c.html#func-FindName">FindName()</a><td><a href="cmdVersion.c.html#func-FindName">cmdVersion.c</a>
<tr><td>&nbsp;
<td><a href="error.c.html#func-Module_Error">Module_Error()</a><td><a href="error.c.html#func-Module_Error">error.c</a>
<tr><td>&nbsp;
<td colspan=2>malloc(), realloc(), strcpy(), strrchr()
<tr><td>Called by:
<td><a href="locate_module.c.html#func-GetModuleName">GetModuleName()</a><td><a href="locate_module.c.html#func-GetModuleName">locate_module.c</a>
<tr><td>&nbsp;
<td><a href="locate_module.c.html#func-Locate_ModuleFile">Locate_ModuleFile()</a><td><a href="locate_module.c.html#func-Locate_ModuleFile">locate_module.c</a>
<tr><td>&nbsp;
<td><a href="locate_module.c.html#func-SourceVers">SourceVers()</a><td><a href="locate_module.c.html#func-SourceVers">locate_module.c</a>
<tr><td>&nbsp;
<td><a href="cmdInfo.c.html#func-cmdModuleInfo">cmdModuleInfo()</a><td><a href="cmdInfo.c.html#func-cmdModuleInfo">cmdInfo.c</a>
<tr><td>References Variables:
<td><a href="main.c.html#var-_default">_default</a><td><a href="main.c.html#var-_default">main.c</a>
<tr><td>&nbsp;
<td><a href="main.c.html#var-g_current_module">g_current_module</a><td><a href="main.c.html#var-g_current_module">main.c</a>
<tr><td>&nbsp;
<td><a href="cmdVersion.c.html#var-module_name">module_name</a><td><a href="cmdVersion.c.html#var-module_name">cmdVersion.c</a>
</table>
<hr>
<h2><a name="func-cmdModuleAlias">Global Function cmdModuleAlias()</a></h2>
<pre>
** ** Function-Header ***************************************************** **
** **
** Function: cmdModuleAlias **
** **
** Description: Callback function for 'alias' **
** **
** First Edition: 95/12/28 **
** **
** Parameters: ClientData client_data **
** Tcl_Interp *interp According Tcl interp.**
** int argc Number of arguments **
** char *argv[] Argument array **
** **
** Result: int TCL_OK Successfull completion **
** TCL_ERROR Any error **
** **
** Attached Globals: aliaslist List containing all alises **
** g_flags These are set up accordingly before **
** this function is called in order to **
** control everything **
** **
** ************************************************************************ **
</pre>
<tt>int cmdModuleAlias ( ClientData client_data, Tcl_Interp* interp, int argc, char* argv[] )</tt><br>
<table>
<tr><td>Prototyped in:
<td colspan=2><a href="modules_def.h.html#file">modules_def.h</a>
<tr><td>Calls:
<td><a href="cmdVersion.c.html#func-AddModule">AddModule()</a><td><a href="cmdVersion.c.html#func-AddModule">cmdVersion.c</a>
<tr><td>&nbsp;
<td><a href="cmdVersion.c.html#func-AddName">AddName()</a><td><a href="cmdVersion.c.html#func-AddName">cmdVersion.c</a>
<tr><td>&nbsp;
<td><a href="cmdVersion.c.html#func-CheckModuleVersion">CheckModuleVersion()</a><td><a href="cmdVersion.c.html#func-CheckModuleVersion">cmdVersion.c</a>
<tr><td>&nbsp;
<td><a href="cmdVersion.c.html#func-FindName">FindName()</a><td><a href="cmdVersion.c.html#func-FindName">cmdVersion.c</a>
<tr><td>&nbsp;
<td><a href="error.c.html#func-Module_Error">Module_Error()</a><td><a href="error.c.html#func-Module_Error">error.c</a>
<tr><td>&nbsp;
<td colspan=2>fprintf(), strcmp(), strrchr()
<tr><td>Used in:
<td><a href="init.c.html#func-InitializeModuleCommands">InitializeModuleCommands()</a><td><a href="init.c.html#func-InitializeModuleCommands">init.c</a>
<tr><td>References Variables:
<td><a href="main.c.html#var-_default">_default</a><td><a href="main.c.html#var-_default">main.c</a>
<tr><td>&nbsp;
<td><a href="cmdVersion.c.html#var-aliaslist">aliaslist</a><td><a href="cmdVersion.c.html#var-aliaslist">cmdVersion.c</a>
<tr><td>&nbsp;
<td><a href="main.c.html#var-g_flags">g_flags</a><td><a href="main.c.html#var-g_flags">main.c</a>
<tr><td>&nbsp;
<td><a href="cmdVersion.c.html#var-module_name">module_name</a><td><a href="cmdVersion.c.html#var-module_name">cmdVersion.c</a>
</table>
<hr>
<h2><a name="func-cmdModuleVersion">Global Function cmdModuleVersion()</a></h2>
<pre>
** ** Function-Header ***************************************************** **
** **
** Function: cmdModuleVersion **
** **
** Description: Callback function for 'version' **
** **
** First Edition: 95/12/28 **
** **
** Parameters: ClientData client_data **
** Tcl_Interp *interp According Tcl interp.**
** int argc Number of arguments **
** char *argv[] Argument array **
** **
** Result: int TCL_OK Successfull completion **
** TCL_ERROR Any error **
** **
** Attached Globals: modlist List containing all version names **
** g_flags These are set up accordingly before **
** this function is called in order to **
** control everything **
** **
** ************************************************************************ **
</pre>
<tt>int cmdModuleVersion ( ClientData client_data, Tcl_Interp* interp, int argc, char* argv[] )</tt><br>
<table>
<tr><td>Prototyped in:
<td colspan=2><a href="modules_def.h.html#file">modules_def.h</a>
<tr><td>Calls:
<td><a href="cmdVersion.c.html#func-AddModule">AddModule()</a><td><a href="cmdVersion.c.html#func-AddModule">cmdVersion.c</a>
<tr><td>&nbsp;
<td><a href="cmdVersion.c.html#func-AddName">AddName()</a><td><a href="cmdVersion.c.html#func-AddName">cmdVersion.c</a>
<tr><td>&nbsp;
<td><a href="cmdVersion.c.html#func-CheckModuleVersion">CheckModuleVersion()</a><td><a href="cmdVersion.c.html#func-CheckModuleVersion">cmdVersion.c</a>
<tr><td>&nbsp;
<td><a href="cmdVersion.c.html#func-FindName">FindName()</a><td><a href="cmdVersion.c.html#func-FindName">cmdVersion.c</a>
<tr><td>&nbsp;
<td><a href="error.c.html#func-Module_Error">Module_Error()</a><td><a href="error.c.html#func-Module_Error">error.c</a>
<tr><td>&nbsp;
<td colspan=2>fprintf(), strrchr()
<tr><td>Called by:
<td><a href="locate_module.c.html#func-SourceVers">SourceVers()</a><td><a href="locate_module.c.html#func-SourceVers">locate_module.c</a>
<tr><td>Used in:
<td><a href="init.c.html#func-InitializeModuleCommands">InitializeModuleCommands()</a><td><a href="init.c.html#func-InitializeModuleCommands">init.c</a>
<tr><td>References Variables:
<td><a href="main.c.html#var-g_flags">g_flags</a><td><a href="main.c.html#var-g_flags">main.c</a>
<tr><td>&nbsp;
<td><a href="cmdVersion.c.html#var-module_name">module_name</a><td><a href="cmdVersion.c.html#var-module_name">cmdVersion.c</a>
</table>
<hr>
<h2><a name="func-AddModule">Local Function AddModule()</a></h2>
<pre>
** ** Function-Header ***************************************************** **
** **
** Function: AddModule **
** **
** Description: Add a new entry to the modules queue **
** **
** First Edition: 95/12/28 **
** **
** Parameters: char *name Name of the new module **
** **
** Result: ModModule* NULL Any error **
** Else Pointer to the new record **
** **
** Attached Globals: modlist List containing all version names **
** **
** ************************************************************************ **
</pre>
<tt>static ModModule* AddModule ( char* name )</tt><br>
<table>
<tr><td>Prototyped in:
<td colspan=2><a href="cmdVersion.c.html#file">cmdVersion.c</a>
<tr><td>Calls:
<td><a href="cmdVersion.c.html#func-FindModule">FindModule()</a><td><a href="cmdVersion.c.html#func-FindModule">cmdVersion.c</a>
<tr><td>&nbsp;
<td><a href="error.c.html#func-Module_Error">Module_Error()</a><td><a href="error.c.html#func-Module_Error">error.c</a>
<tr><td>&nbsp;
<td colspan=2>malloc(), strdup()
<tr><td>Called by:
<td><a href="cmdVersion.c.html#func-cmdModuleAlias">cmdModuleAlias()</a><td><a href="cmdVersion.c.html#func-cmdModuleAlias">cmdVersion.c</a>
<tr><td>&nbsp;
<td><a href="cmdVersion.c.html#func-cmdModuleVersion">cmdModuleVersion()</a><td><a href="cmdVersion.c.html#func-cmdModuleVersion">cmdVersion.c</a>
<tr><td>References Variables:
<td><a href="cmdVersion.c.html#var-modlist">modlist</a><td><a href="cmdVersion.c.html#var-modlist">cmdVersion.c</a>
<tr><td>&nbsp;
<td><a href="cmdVersion.c.html#var-module_name">module_name</a><td><a href="cmdVersion.c.html#var-module_name">cmdVersion.c</a>
</table>
<hr>
<h2><a name="func-AddName">Local Function AddName()</a></h2>
<pre>
** ** Function-Header ***************************************************** **
** **
** Function: AddName **
** **
** Description: Add a new entry to the name queue **
** **
** First Edition: 95/12/28 **
** **
** Parameters: char *name Name of the new entry **
** ModName **start Start of the queue **
** ModModule *module Parent module record pointer **
** **
** Result: ModName* NULL Any error **
** Else Pointer to the new record **
** **
** ************************************************************************ **
</pre>
<tt>static ModName* AddName ( char* name, ModName** start, ModModule* module )</tt><br>
<table>
<tr><td>Prototyped in:
<td colspan=2><a href="cmdVersion.c.html#file">cmdVersion.c</a>
<tr><td>Calls:
<td><a href="cmdVersion.c.html#func-FindName">FindName()</a><td><a href="cmdVersion.c.html#func-FindName">cmdVersion.c</a>
<tr><td>&nbsp;
<td><a href="error.c.html#func-Module_Error">Module_Error()</a><td><a href="error.c.html#func-Module_Error">error.c</a>
<tr><td>&nbsp;
<td colspan=2>malloc(), strdup()
<tr><td>Called by:
<td><a href="cmdVersion.c.html#func-cmdModuleAlias">cmdModuleAlias()</a><td><a href="cmdVersion.c.html#func-cmdModuleAlias">cmdVersion.c</a>
<tr><td>&nbsp;
<td><a href="cmdVersion.c.html#func-cmdModuleVersion">cmdModuleVersion()</a><td><a href="cmdVersion.c.html#func-cmdModuleVersion">cmdVersion.c</a>
<tr><td>References Variables:
<td><a href="cmdVersion.c.html#var-module_name">module_name</a><td><a href="cmdVersion.c.html#var-module_name">cmdVersion.c</a>
</table>
<hr>
<h2><a name="func-CheckModuleVersion">Local Function CheckModuleVersion()</a></h2>
<pre>
** ** Function-Header ***************************************************** **
** **
** Function: CheckModuleVersion **
** **
** Description: Reduce the passed module name into a &lt;mod&gt;/&lt;vers&gt; **
** string **
** **
** First Edition: 95/12/28 **
** **
** Parameters: char *name name to be checked **
** **
** Result: char* NULL any error **
** Otherwise Pointer to a &lt;mod&gt;/&lt;vers&gt; **
** string **
** **
** Attached Globals: modlist List containing all version names **
** aliaslist List containing all alises **
** g_current_module The module which is handled **
** by the current command **
** **
** ************************************************************************ **
</pre>
<tt>static char* CheckModuleVersion ( char* name )</tt><br>
<table>
<tr><td>Prototyped in:
<td colspan=2><a href="cmdVersion.c.html#file">cmdVersion.c</a>
<tr><td>Calls:
<td><a href="cmdVersion.c.html#func-AliasLookup">AliasLookup()</a><td><a href="cmdVersion.c.html#func-AliasLookup">cmdVersion.c</a>
<tr><td>&nbsp;
<td><a href="error.c.html#func-Module_Error">Module_Error()</a><td><a href="error.c.html#func-Module_Error">error.c</a>
<tr><td>&nbsp;
<td colspan=2>strcat(), strcpy(), strlen(), strrchr()
<tr><td>Called by:
<td><a href="cmdVersion.c.html#func-ExpandVersions">ExpandVersions()</a><td><a href="cmdVersion.c.html#func-ExpandVersions">cmdVersion.c</a>
<tr><td>&nbsp;
<td><a href="cmdVersion.c.html#func-cmdModuleAlias">cmdModuleAlias()</a><td><a href="cmdVersion.c.html#func-cmdModuleAlias">cmdVersion.c</a>
<tr><td>&nbsp;
<td><a href="cmdVersion.c.html#func-cmdModuleVersion">cmdModuleVersion()</a><td><a href="cmdVersion.c.html#func-cmdModuleVersion">cmdVersion.c</a>
<tr><td>References Variables:
<td><a href="main.c.html#var-_default">_default</a><td><a href="main.c.html#var-_default">main.c</a>
<tr><td>&nbsp;
<td><a href="main.c.html#var-g_current_module">g_current_module</a><td><a href="main.c.html#var-g_current_module">main.c</a>
<tr><td>&nbsp;
<td><a href="cmdVersion.c.html#var-module_name">module_name</a><td><a href="cmdVersion.c.html#var-module_name">cmdVersion.c</a>
</table>
<hr>
<h2><a name="func-CleanupName">Local Function CleanupName()</a></h2>
<tt>static void CleanupName ( ModName* ptr )</tt><br>
<table>
<tr><td>Prototyped in:
<td colspan=2><a href="cmdVersion.c.html#file">cmdVersion.c</a>
<tr><td>Calls:
<td><a href="cmdVersion.c.html#func-CleanupName">CleanupName()</a><td><a href="cmdVersion.c.html#func-CleanupName">cmdVersion.c</a>
<tr><td>Called by:
<td><a href="cmdVersion.c.html#func-CleanupName">CleanupName()</a><td><a href="cmdVersion.c.html#func-CleanupName">cmdVersion.c</a>
<tr><td>&nbsp;
<td><a href="cmdVersion.c.html#func-CleanupVersion">CleanupVersion()</a><td><a href="cmdVersion.c.html#func-CleanupVersion">cmdVersion.c</a>
<tr><td>&nbsp;
<td><a href="cmdVersion.c.html#func-CleanupVersionSub">CleanupVersionSub()</a><td><a href="cmdVersion.c.html#func-CleanupVersionSub">cmdVersion.c</a>
</table>
<hr>
<h2><a name="func-CleanupVersionSub">Local Function CleanupVersionSub()</a></h2>
<tt>static void CleanupVersionSub ( ModModule* ptr )</tt><br>
<table>
<tr><td>Prototyped in:
<td colspan=2><a href="cmdVersion.c.html#file">cmdVersion.c</a>
<tr><td>Calls:
<td><a href="cmdVersion.c.html#func-CleanupName">CleanupName()</a><td><a href="cmdVersion.c.html#func-CleanupName">cmdVersion.c</a>
<tr><td>&nbsp;
<td><a href="cmdVersion.c.html#func-CleanupVersion">CleanupVersion()</a><td><a href="cmdVersion.c.html#func-CleanupVersion">cmdVersion.c</a>
<tr><td>Called by:
<td><a href="cmdVersion.c.html#func-CleanupVersion">CleanupVersion()</a><td><a href="cmdVersion.c.html#func-CleanupVersion">cmdVersion.c</a>
</table>
<hr>
<h2><a name="func-FindModule">Local Function FindModule()</a></h2>
<pre>
** ** Function-Header ***************************************************** **
** **
** Function: FindModule **
** **
** Description: Find a new entry in the modules queue **
** **
** First Edition: 95/12/28 **
** **
** Parameters: char *name Name of be found **
** ModModule **prev Buffer for the 'previous' **
** pointer **
** **
** Result: ModModule* NULL Any error or not found **
** Else Pointer to the record **
** **
** Attached Globals: modlist List containing all version names **
** **
** ************************************************************************ **
</pre>
<tt>static ModModule* FindModule ( char* name, ModModule** prev )</tt><br>
<table>
<tr><td>Prototyped in:
<td colspan=2><a href="cmdVersion.c.html#file">cmdVersion.c</a>
<tr><td>Calls:
<td colspan=2>strcmp()
<tr><td>Called by:
<td><a href="cmdVersion.c.html#func-AddModule">AddModule()</a><td><a href="cmdVersion.c.html#func-AddModule">cmdVersion.c</a>
<tr><td>&nbsp;
<td><a href="cmdVersion.c.html#func-ExpandVersions">ExpandVersions()</a><td><a href="cmdVersion.c.html#func-ExpandVersions">cmdVersion.c</a>
<tr><td>&nbsp;
<td><a href="cmdVersion.c.html#func-VersionLookup">VersionLookup()</a><td><a href="cmdVersion.c.html#func-VersionLookup">cmdVersion.c</a>
<tr><td>References Variables:
<td><a href="cmdVersion.c.html#var-modlist">modlist</a><td><a href="cmdVersion.c.html#var-modlist">cmdVersion.c</a>
</table>
<hr>
<h2><a name="func-FindName">Local Function FindName()</a></h2>
<pre>
** ** Function-Header ***************************************************** **
** **
** Function: FindName **
** **
** Description: Find a new entry in the modules queue **
** **
** First Edition: 95/12/28 **
** **
** Parameters: char *name Name of be found **
** ModName *start Start of the name queue **
** ModName **prev Buffer for the 'previous' **
** pointer **
** **
** Result: ModName* NULL Any error or not found **
** Else Pointer to the record **
** **
** ************************************************************************ **
</pre>
<tt>static ModName* FindName ( char* name, ModName* start, ModName** prev )</tt><br>
<table>
<tr><td>Prototyped in:
<td colspan=2><a href="cmdVersion.c.html#file">cmdVersion.c</a>
<tr><td>Calls:
<td colspan=2>strcmp()
<tr><td>Called by:
<td><a href="cmdVersion.c.html#func-AddName">AddName()</a><td><a href="cmdVersion.c.html#func-AddName">cmdVersion.c</a>
<tr><td>&nbsp;
<td><a href="cmdVersion.c.html#func-AliasLookup">AliasLookup()</a><td><a href="cmdVersion.c.html#func-AliasLookup">cmdVersion.c</a>
<tr><td>&nbsp;
<td><a href="cmdVersion.c.html#func-ExpandVersions">ExpandVersions()</a><td><a href="cmdVersion.c.html#func-ExpandVersions">cmdVersion.c</a>
<tr><td>&nbsp;
<td><a href="cmdVersion.c.html#func-VersionLookup">VersionLookup()</a><td><a href="cmdVersion.c.html#func-VersionLookup">cmdVersion.c</a>
<tr><td>&nbsp;
<td><a href="cmdVersion.c.html#func-cmdModuleAlias">cmdModuleAlias()</a><td><a href="cmdVersion.c.html#func-cmdModuleAlias">cmdVersion.c</a>
<tr><td>&nbsp;
<td><a href="cmdVersion.c.html#func-cmdModuleVersion">cmdModuleVersion()</a><td><a href="cmdVersion.c.html#func-cmdModuleVersion">cmdVersion.c</a>
<tr><td>&nbsp;
<td><a href="cmdVersion.c.html#func-scan_versions">scan_versions()</a><td><a href="cmdVersion.c.html#func-scan_versions">cmdVersion.c</a>
</table>
<hr>
<h2><a name="func-scan_versions">Local Function scan_versions()</a></h2>
<pre>
** ** Function-Header ***************************************************** **
** **
** Function: scan_versions **
** **
** Description: Scan all symbolic versions pointed to be the passed **
** ModName pointer and print them as a list into the **
** passed buffer. **
** **
** First Edition: 95/12/28 **
** **
** Parameters: char *buffer Buffer for printing in **
** ModName *ptr Name structure pointer **
** ModModule *modptr Assigned module name **
** **
** Result: char* NULL Nothing printed into the **
** buffer **
** Otherwise Pointer to the end of the **
** string in the buffer **
** **
** ************************************************************************ **
</pre>
<tt>static char* scan_versions ( char* buffer, char* base, ModName* ptr, ModModule* modptr )</tt><br>
<table>
<tr><td>Prototyped in:
<td colspan=2><a href="cmdVersion.c.html#file">cmdVersion.c</a>
<tr><td>Calls:
<td><a href="cmdVersion.c.html#func-FindName">FindName()</a><td><a href="cmdVersion.c.html#func-FindName">cmdVersion.c</a>
<tr><td>&nbsp;
<td><a href="error.c.html#func-Module_Error">Module_Error()</a><td><a href="error.c.html#func-Module_Error">error.c</a>
<tr><td>&nbsp;
<td><a href="cmdVersion.c.html#func-scan_versions">scan_versions()</a><td><a href="cmdVersion.c.html#func-scan_versions">cmdVersion.c</a>
<tr><td>&nbsp;
<td colspan=2>strcat(), strcpy(), strlen(), strstr()
<tr><td>Called by:
<td><a href="cmdVersion.c.html#func-ExpandVersions">ExpandVersions()</a><td><a href="cmdVersion.c.html#func-ExpandVersions">cmdVersion.c</a>
<tr><td>&nbsp;
<td><a href="cmdVersion.c.html#func-scan_versions">scan_versions()</a><td><a href="cmdVersion.c.html#func-scan_versions">cmdVersion.c</a>
<tr><td>References Variables:
<td><a href="cmdVersion.c.html#var-module_name">module_name</a><td><a href="cmdVersion.c.html#var-module_name">cmdVersion.c</a>
</table>
</BODY>
</HTML>