mirror of
https://github.com/envmodules/modules.git
synced 2026-06-10 00:56:30 +08:00
175 lines
9.5 KiB
HTML
175 lines
9.5 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
|
|
|
<!-- This HTML file generated by cxref (version 1.6a). -->
|
|
<!-- cxref program (c) Andrew M. Bishop 1995,96,97,98,99,2000,01,02,03,04,05. -->
|
|
|
|
<!--
|
|
Cxref: cxref -block-comments -verbatim-comments -xref-all -index-all -html-src -Oxref ModuleCmd_Clear.c
|
|
CPP : cxref-cpp -lang-c -C -dD -dI
|
|
-->
|
|
|
|
<HTML>
|
|
|
|
<HEAD>
|
|
<TITLE>Source File ModuleCmd_Clear.c</TITLE>
|
|
<LINK rel="stylesheet" href="cxref.css" type="text/css">
|
|
</HEAD>
|
|
|
|
<BODY>
|
|
|
|
<pre>
|
|
<a name="line1">1 |</a> /*****
|
|
<a name="line2">2 |</a> ** ** Module Header ******************************************************* **
|
|
<a name="line3">3 |</a> ** **
|
|
<a name="line4">4 |</a> ** Modules Revision 3.0 **
|
|
<a name="line5">5 |</a> ** Providing a flexible user environment **
|
|
<a name="line6">6 |</a> ** **
|
|
<a name="line7">7 |</a> ** File: ModuleCmd_Clear.c **
|
|
<a name="line8">8 |</a> ** First Edition: 1991/10/23 **
|
|
<a name="line9">9 |</a> ** **
|
|
<a name="line10">10 |</a> ** Authors: John Furlan, jlf@behere.com **
|
|
<a name="line11">11 |</a> ** Jens Hamisch, jens@Strawberry.COM **
|
|
<a name="line12">12 |</a> ** **
|
|
<a name="line13">13 |</a> ** Description: Clears out Modules' concept of the currently loaded **
|
|
<a name="line14">14 |</a> ** modules. **
|
|
<a name="line15">15 |</a> ** **
|
|
<a name="line16">16 |</a> ** Exports: ModuleCmd_Clear **
|
|
<a name="line17">17 |</a> ** **
|
|
<a name="line18">18 |</a> ** Notes: **
|
|
<a name="line19">19 |</a> ** **
|
|
<a name="line20">20 |</a> ** ************************************************************************ **
|
|
<a name="line21">21 |</a> ****/
|
|
<a name="line22">22 |</a>
|
|
<a name="line23">23 |</a> /** ** Copyright *********************************************************** **
|
|
<a name="line24">24 |</a> ** **
|
|
<a name="line25">25 |</a> ** Copyright 1991-1994 by John L. Furlan. **
|
|
<a name="line26">26 |</a> ** see LICENSE.GPL, which must be provided, for details **
|
|
<a name="line27">27 |</a> ** **
|
|
<a name="line28">28 |</a> ** ************************************************************************ **/
|
|
<a name="line29">29 |</a>
|
|
<a name="line30">30 |</a> static char Id[] = "@(#)$Id: ModuleCmd_Clear.c.src.html,v 1.6 2006/01/18 05:35:11 rkowen Exp $";
|
|
<a name="line31">31 |</a> static void *UseId[] = { &UseId, Id };
|
|
<a name="line32">32 |</a>
|
|
<a name="line33">33 |</a> /** ************************************************************************ **/
|
|
<a name="line34">34 |</a> /** HEADERS **/
|
|
<a name="line35">35 |</a> /** ************************************************************************ **/
|
|
<a name="line36">36 |</a>
|
|
<a name="line37">37 |</a> #include "modules_def.h"
|
|
<a name="line38">38 |</a>
|
|
<a name="line39">39 |</a> /** ************************************************************************ **/
|
|
<a name="line40">40 |</a> /** LOCAL DATATYPES **/
|
|
<a name="line41">41 |</a> /** ************************************************************************ **/
|
|
<a name="line42">42 |</a>
|
|
<a name="line43">43 |</a> /** not applicable **/
|
|
<a name="line44">44 |</a>
|
|
<a name="line45">45 |</a> /** ************************************************************************ **/
|
|
<a name="line46">46 |</a> /** CONSTANTS **/
|
|
<a name="line47">47 |</a> /** ************************************************************************ **/
|
|
<a name="line48">48 |</a>
|
|
<a name="line49">49 |</a> /** not applicable **/
|
|
<a name="line50">50 |</a>
|
|
<a name="line51">51 |</a> /** ************************************************************************ **/
|
|
<a name="line52">52 |</a> /** MACROS **/
|
|
<a name="line53">53 |</a> /** ************************************************************************ **/
|
|
<a name="line54">54 |</a>
|
|
<a name="line55">55 |</a> /** not applicable **/
|
|
<a name="line56">56 |</a>
|
|
<a name="line57">57 |</a> /** ************************************************************************ **/
|
|
<a name="line58">58 |</a> /** LOCAL DATA **/
|
|
<a name="line59">59 |</a> /** ************************************************************************ **/
|
|
<a name="line60">60 |</a>
|
|
<a name="line61">61 |</a> #if WITH_DEBUGGING_MODULECMD
|
|
<a name="line62">62 |</a> static char module_name[] = "ModuleCmd_Clear.c"; /** File name of this module **/
|
|
<a name="line63">63 |</a> static char _proc_ModuleCmd_Clear[] = "ModuleCmd_Clear";
|
|
<a name="line64">64 |</a> #endif
|
|
<a name="line65">65 |</a>
|
|
<a name="line66">66 |</a> /** ************************************************************************ **/
|
|
<a name="line67">67 |</a> /** PROTOTYPES **/
|
|
<a name="line68">68 |</a> /** ************************************************************************ **/
|
|
<a name="line69">69 |</a>
|
|
<a name="line70">70 |</a> /** not applicable **/
|
|
<a name="line71">71 |</a>
|
|
<a name="line72">72 |</a>
|
|
<a name="line73">73 |</a> /*++++
|
|
<a name="line74">74 |</a> ** ** Function-Header ***************************************************** **
|
|
<a name="line75">75 |</a> ** **
|
|
<a name="line76">76 |</a> ** Function: ModuleCmd_Clear **
|
|
<a name="line77">77 |</a> ** **
|
|
<a name="line78">78 |</a> ** Description: Execution of the module-command 'clear' **
|
|
<a name="line79">79 |</a> ** Resets the modules runtime information but doesn't **
|
|
<a name="line80">80 |</a> ** apply further changes to the environment at all **
|
|
<a name="line81">81 |</a> ** **
|
|
<a name="line82">82 |</a> ** First Edition: 1991/10/23 **
|
|
<a name="line83">83 |</a> ** **
|
|
<a name="line84">84 |</a> ** Parameters: Tcl_Interp *interp Attached Tcl Interp. **
|
|
<a name="line85">85 |</a> ** int argc Number of arguments **
|
|
<a name="line86">86 |</a> ** char *argv[] Argument list **
|
|
<a name="line87">87 |</a> ** **
|
|
<a name="line88">88 |</a> ** Result: int TCL_ERROR Failure **
|
|
<a name="line89">89 |</a> ** TCL_OK Successfull operation **
|
|
<a name="line90">90 |</a> ** **
|
|
<a name="line91">91 |</a> ** Attached Globals: **
|
|
<a name="line92">92 |</a> ** **
|
|
<a name="line93">93 |</a> ** ************************************************************************ **
|
|
<a name="line94">94 |</a> ++++*/
|
|
<a name="line95">95 |</a>
|
|
<a name="line96">96 |</a> int ModuleCmd_Clear( Tcl_Interp *interp,
|
|
<a name="line97">97 |</a> int argc,
|
|
<a name="line98">98 |</a> char *argv[])
|
|
<a name="line99">99 |</a> {
|
|
<a name="line100">100 |</a> char buf[10];
|
|
<a name="line101">101 |</a> char* clearargv[4];
|
|
<a name="line102">102 |</a>
|
|
<a name="line103">103 |</a> #if WITH_DEBUGGING_MODULECMD
|
|
<a name="line104">104 |</a> ErrorLogger( NO_ERR_START, LOC, _proc_ModuleCmd_Clear, NULL);
|
|
<a name="line105">105 |</a> #endif
|
|
<a name="line106">106 |</a>
|
|
<a name="line107">107 |</a> /**
|
|
<a name="line108">108 |</a> ** Ask the user if he's really sure about what he's doing ...
|
|
<a name="line109">109 |</a> **/
|
|
<a name="line110">110 |</a>
|
|
<a name="line111">111 |</a> if( argc == 1 && !strcmp( argv[0], "yes")) {
|
|
<a name="line112">112 |</a> buf[0] = 'y';
|
|
<a name="line113">113 |</a> } else {
|
|
<a name="line114">114 |</a> fprintf( stderr,
|
|
<a name="line115">115 |</a> "\nAre you sure you want to clear all loaded modules!? [n] ");
|
|
<a name="line116">116 |</a> fgets( buf, 10, stdin);
|
|
<a name="line117">117 |</a> }
|
|
<a name="line118">118 |</a>
|
|
<a name="line119">119 |</a> /**
|
|
<a name="line120">120 |</a> ** Reset the shell variables 'LOADEDMODULES' and '_LMFILES_'
|
|
<a name="line121">121 |</a> **/
|
|
<a name="line122">122 |</a>
|
|
<a name="line123">123 |</a> if( buf[0] == 'y') {
|
|
<a name="line124">124 |</a>
|
|
<a name="line125">125 |</a> clearargv[0] = "setenv";
|
|
<a name="line126">126 |</a> clearargv[1] = "LOADEDMODULES";
|
|
<a name="line127">127 |</a> clearargv[2] = "";
|
|
<a name="line128">128 |</a> clearargv[3] = NULL;
|
|
<a name="line129">129 |</a> cmdSetEnv( (ClientData) 0, interp, 3, (CONST84 char **) clearargv);
|
|
<a name="line130">130 |</a>
|
|
<a name="line131">131 |</a> clearargv[0] = "setenv";
|
|
<a name="line132">132 |</a> clearargv[1] = "_LMFILES_";
|
|
<a name="line133">133 |</a> clearargv[2] = "";
|
|
<a name="line134">134 |</a> clearargv[3] = NULL;
|
|
<a name="line135">135 |</a> cmdSetEnv( (ClientData) 0, interp, 3, (CONST84 char **) clearargv);
|
|
<a name="line136">136 |</a>
|
|
<a name="line137">137 |</a> } else {
|
|
<a name="line138">138 |</a> fprintf( stderr, "\nLOADEDMODULES was NOT cleared.\n");
|
|
<a name="line139">139 |</a> }
|
|
<a name="line140">140 |</a>
|
|
<a name="line141">141 |</a> /**
|
|
<a name="line142">142 |</a> ** Return on success
|
|
<a name="line143">143 |</a> **/
|
|
<a name="line144">144 |</a>
|
|
<a name="line145">145 |</a> #if WITH_DEBUGGING_MODULECMD
|
|
<a name="line146">146 |</a> ErrorLogger( NO_ERR_END, LOC, _proc_ModuleCmd_Clear, NULL);
|
|
<a name="line147">147 |</a> #endif
|
|
<a name="line148">148 |</a>
|
|
<a name="line149">149 |</a> return( TCL_OK);
|
|
<a name="line150">150 |</a> }
|
|
</pre>
|
|
|
|
</BODY>
|
|
</HTML>
|