warnings visual + intel (all warnings mode) graphics module
[scilab.git] / scilab / modules / graphics / src / c / getHandleProperty / set_format_n_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) 2009 - DIGITEO - Pierre Lando
7  * 
8  * This file must be used under the terms of the CeCILL.
9  * This source file is licensed as described in the file COPYING, which
10  * you should have received as part of this distribution.  The terms
11  * are also available at    
12  * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
13  *
14  */
15
16 /*------------------------------------------------------------------------*/
17 /* file: set_format_n_property.c                                          */
18 /* desc : function to modify in Scilab the format_n field of              */
19 /*        a handle                                                        */
20 /*------------------------------------------------------------------------*/
21
22 #include "setHandleProperty.h"
23 #include "SetProperty.h"
24 #include "getPropertyAssignedValue.h"
25 #include "SetPropertyStatus.h"
26 #include "GetProperty.h"
27 #include "Scierror.h"
28 #include "localization.h"
29 #include "MALLOC.h"
30 #include "string.h"
31
32
33 /*------------------------------------------------------------------------*/
34 int set_format_n_property( sciPointObj * pobj, size_t stackPointer, int valueType, int nbRow, int nbCol )
35 {
36   char* format;
37   int formatLength;
38   if ( !isParameterStringMatrix( valueType ) )
39   {
40     Scierror(999, _("Wrong type for '%s' property: String expected.\n"), "format_n");
41     return SET_PROPERTY_ERROR ;
42   }
43
44   if ( sciGetEntityType(pobj) != SCI_AXES )
45   {
46     Scierror(999, _("'%s' property does not exist for this handle.\n"),"format_n") ;
47     return SET_PROPERTY_ERROR ;
48   }
49
50   if(pAXES_FEATURE(pobj)->format != NULL)
51     FREE(pAXES_FEATURE(pobj)->format);
52
53   format = getStringFromStack(stackPointer);
54   formatLength = (int)strlen(format);
55
56   if(formatLength <= 1)
57   {
58     pAXES_FEATURE(pobj)->format = NULL;
59     return SET_PROPERTY_SUCCEED;
60   }
61
62   pAXES_FEATURE(pobj)->format = MALLOC((formatLength + 1) * sizeof(char));
63   if(pAXES_FEATURE(pobj)->format != NULL)
64   {
65     strcpy(pAXES_FEATURE(pobj)->format, format);
66     return SET_PROPERTY_SUCCEED ;
67   }
68   else
69   {
70     Scierror(999, _("%s: No more memory.\n"),"set_format_n_property");
71
72   }
73   return SET_PROPERTY_SUCCEED ;
74 }
75 /*------------------------------------------------------------------------*/