GRASS Programmer's Manual  6.5.svn(2014)-r66266
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
V_const.c
Go to the documentation of this file.
1 
28 #include <stdio.h>
29 #include <grass/vask.h>
30 
31 
51 int V_const(void *src, int var_type, int row, int col, int length)
52 {
53  union target targetptr;
54 
55  targetptr.i = src;
56 
57  if (V__.NUM_CONST >= MAX_CONST) {
58  V_error("Too many constants in call to V_const");
59  return (-1);
60  }
61  if ((row < 0) || (row >= MAX_LINE)) {
62  V_error("Illegal row (%d) in call to V_const", row);
63  return (-1);
64  }
65  if ((col < 0) || (col > 80)) {
66  V_error("Illegal column (%d) in call to V_const", col);
67  return (-1);
68  }
69  if ((length < 0) || ((length + col) > 80)) {
70  V_error("Length out of bounds in call to V_const");
71  return (-1);
72  }
73 
74  if ((var_type == 's') || (var_type == 'i') || (var_type == 'f')
75  || (var_type == 'l') || (var_type == 'd')) {
76  V__.constant[V__.NUM_CONST].targetptr = targetptr;
77  V__.constant[V__.NUM_CONST].var_type = var_type;
78  V__.constant[V__.NUM_CONST].row = row;
79  V__.constant[V__.NUM_CONST].col = col;
80  V__.constant[V__.NUM_CONST].length = length;
81  V__.constant[V__.NUM_CONST].decimal_places = V__.decimal_places;
82 
83  V__.NUM_CONST++;
84  return (0);
85  }
86  else {
87  V_error("Illegal variable type in call to V_const");
88  return (-1);
89  }
90 }
struct V__ V__
Definition: V_call.c:90
void V_error(const char *fmt,...)
Definition: V_error.c:44
int V_const(void *src, int var_type, int row, int col, int length)
Definition: V_const.c:51