File: CScilex.c

package info (click to toggle)
scilab 4.0-12
  • links: PTS
  • area: non-free
  • in suites: etch, etch-m68k
  • size: 100,640 kB
  • ctags: 57,333
  • sloc: ansic: 377,889; fortran: 242,862; xml: 179,819; tcl: 42,062; sh: 10,593; ml: 9,441; makefile: 4,377; cpp: 1,354; java: 621; csh: 260; yacc: 247; perl: 130; lex: 126; asm: 72; lisp: 30
file content (75 lines) | stat: -rw-r--r-- 1,747 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
/***********************************************************************/
/* Copyright (C) 2005 INRIA Allan CORNET */
/***********************************************************************/
#include <Windows.h>
#include "stdio.h"
#include "../../os_specific/win_mem_alloc.h" /* MALLOC */
/***********************************************************************/
typedef int (*MYPROC) (int , char **);
/***********************************************************************/
int main (int argc, char **argv)
{
	#define MAXCMDTOKENS 128

	HINSTANCE hinstLib; 
	MYPROC Console_Main; 

	BOOL fFreeResult, fRunTimeLinkSuccess = FALSE; 
	
	int argcbis=-1;
	LPSTR argvbis[MAXCMDTOKENS];
	int i=0;
	int FindNW=0;

	for (i=0;i<argc;i++)
	{
		if ( (strcmp(argv[i],"-nw")==0) || (strcmp(argv[i],"-NW")==0) ) FindNW=1;
		if ( (strcmp(argv[i],"-nwni")==0) || (strcmp(argv[i],"-NWNI")==0) ) FindNW=1;
	}

	if (FindNW==0)
	{
		char *nwparam=NULL;
		nwparam=(char*)MALLOC((strlen("-nw")+1)*sizeof(char));
		strcpy(nwparam,"-nw");
		for (i=0;i<argc;i++)
		{
			argvbis[i]=argv[i];
		}
		argvbis[argc]=nwparam;
		argcbis=argc+1;
	}
	else
	{
		for (i=0;i<argc;i++)
		{
			argvbis[i]=argv[i];
		}
		argcbis=argc;
	}
    	
	hinstLib = LoadLibrary(TEXT("Libscilab")); 	
    
	if (hinstLib != NULL) 
	{ 
		Console_Main = (MYPROC) GetProcAddress(hinstLib, TEXT("Console_Main")); 

		if (NULL != Console_Main) 
		{
			fRunTimeLinkSuccess = TRUE;
			(Console_Main)(argcbis,argvbis);
		}
		fFreeResult = FreeLibrary(hinstLib); 
	} 

	if (! fRunTimeLinkSuccess) 
	{
		MessageBox(NULL,"scilex.exe : Libscilab.dll not found !","Warning",MB_ICONERROR); 
		exit(1);
	}
	else exit(0);

    return 0;

}
/***********************************************************************/