Graphics: fix compilation warnings
[scilab.git] / scilab / modules / graphics / src / c / getHandleProperty / get_tight_limits_property.c
1 /*
2  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3  * Copyright (C) 2004-2006 - INRIA - Fabrice Leray
4  * Copyright (C) 2006 - INRIA - Allan Cornet
5  * Copyright (C) 2006 - INRIA - Jean-Baptiste Silvy
6  * Copyright (C) 2010 - DIGITEO - Manuel Juliachs
7  * Copyright (C) 2011 - DIGITEO - Vincent Couvert
8  * Copyright (C) 2014 - Scilab Enterprises - Vincent Couvert
9  *
10  * Copyright (C) 2012 - 2016 - Scilab Enterprises
11  *
12  * This file is hereby licensed under the terms of the GNU GPL v2.0,
13  * pursuant to article 5.3.4 of the CeCILL v.2.1.
14  * This file was originally licensed under the terms of the CeCILL v2.1,
15  * and continues to be available under such terms.
16  * For more information, see the COPYING file which you should have received
17  * along with this program.
18  *
19  */
20
21 /*------------------------------------------------------------------------*/
22 /* file: get_tight_limits_property.c                                      */
23 /* desc : function to retrieve in Scilab the tight_limits field of        */
24 /*        a handle                                                        */
25 /*------------------------------------------------------------------------*/
26
27 #include <string.h>
28 #include "getHandleProperty.h"
29 #include "GetProperty.h"
30 #include "returnProperty.h"
31 #include "Scierror.h"
32 #include "localization.h"
33 #include "sci_malloc.h"
34 #include "os_string.h"
35
36 #include "getGraphicObjectProperty.h"
37 #include "graphicObjectProperties.h"
38
39 /*------------------------------------------------------------------------*/
40 void* get_tight_limits_property(void* _pvCtx, int iObjUID)
41 {
42     char * tightLimits[3]  = { NULL, NULL, NULL };
43     int const axesTightLimitsPropertiesNames[3] = {__GO_X_TIGHT_LIMITS__, __GO_Y_TIGHT_LIMITS__, __GO_Z_TIGHT_LIMITS__};
44     int iTightLimits = 0;
45     int* piTightLimits = &iTightLimits;
46
47     int i = 0;
48     int j = 0;
49     void* status = NULL;
50
51     for (i = 0 ; i < 3 ; i++)
52     {
53         getGraphicObjectProperty(iObjUID, axesTightLimitsPropertiesNames[i], jni_bool, (void **)&piTightLimits);
54
55         if (piTightLimits == NULL)
56         {
57             Scierror(999, _("'%s' property does not exist for this handle.\n"), "tight_limits");
58             return -1;
59         }
60
61         if (iTightLimits)
62         {
63             tightLimits[i] = os_strdup("on");
64         }
65         else
66         {
67             tightLimits[i] = os_strdup("off");
68         }
69
70         if (tightLimits[i] == NULL)
71         {
72             for (j = 0 ; j < i ; j++)
73             {
74                 FREE(tightLimits[j]);
75             }
76
77             Scierror(999, _("%s: No more memory.\n"), "get_tight_limits_property");
78             return NULL;
79         }
80
81     }
82
83     status = sciReturnRowStringVector(tightLimits, 3);
84
85     for (i = 0 ; i < 3 ; i++)
86     {
87         FREE(tightLimits[i]);
88     }
89
90     return status;
91 }
92 /*------------------------------------------------------------------------*/