Adapt test to Scilab 6:
[scilab.git] / scilab / modules / console / tests / nonreg_tests / bug_13226.c
1 /*
2  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3  * Copyright (C) Scilab Enterprises - 2014 - Calixte DENIZET
4  *
5  * This file must be used under the terms of the CeCILL.
6  * This source file is licensed as described in the file COPYING, which
7  * you should have received as part of this distribution.  The terms
8  * are also available at
9  * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
10  *
11  */
12
13 #include <wchar.h>
14
15 #include "api_scilab.h"
16 #include "Scierror.h"
17 #include "sci_malloc.h"
18
19 extern void autoCompletionInConsoleMode(wchar_t ** commandLine, unsigned int *cursorLocation);
20
21 /*--------------------------------------------------------------------------*/
22 int sci_completecommandline(char *fname, void *pvApiCtx)
23 {
24     SciErr err;
25     int * addr = NULL;
26     wchar_t * wstr = NULL;
27     wchar_t * commandLine = MALLOC(sizeof(wchar_t) * 1024);
28     double c;
29     unsigned int cursor;
30
31     CheckOutputArgument(pvApiCtx, 2, 2);
32     CheckInputArgument(pvApiCtx, 2, 2);
33
34     err = getVarAddressFromPosition(pvApiCtx, 1, &addr);
35     getAllocatedSingleWideString(pvApiCtx, addr, &wstr);
36     err = getVarAddressFromPosition(pvApiCtx, 2, &addr);
37     getScalarDouble(pvApiCtx, addr, &c);
38
39     cursor = (unsigned int)c;
40
41     wcscpy(commandLine, wstr);
42     freeAllocatedSingleWideString(wstr);
43
44     autoCompletionInConsoleMode(&commandLine, &cursor);
45
46     createSingleWideString(pvApiCtx, 3, commandLine);
47     createScalarDouble(pvApiCtx, 4, (double)cursor);
48
49     FREE(commandLine);
50
51     AssignOutputVariable(pvApiCtx, 1) = 3;
52     AssignOutputVariable(pvApiCtx, 2) = 4;
53
54     return 0;
55 }