GRASS GIS 8 Programmer's Manual  8.2.2dev(2023)-3d2c704037
add_elem.c
Go to the documentation of this file.
1 /*!
2  \file lib/manage/add_elem.c
3 
4  \brief Manage Library - Add element to the list
5 
6  (C) 2001-2011 by the GRASS Development Team
7 
8  This program is free software under the GNU General Public License
9  (>=v2). Read the file COPYING that comes with GRASS for details.
10 
11  \author Original author CERL
12 */
13 
14 #include <grass/gis.h>
15 
16 #include "manage_local_proto.h"
17 
18 /*!
19  \brief Add element to the list
20 
21  \param elem element name
22  \param desc description of the element
23 */
24 void M__add_element(const char *elem, const char *desc)
25 {
26  int n;
27  int nelem;
28 
29  if (*desc == 0)
30  desc = elem;
31 
32  n = nlist - 1;
33  nelem = list[n].nelem++;
34  list[n].element = G_realloc(list[n].element, (nelem + 1) * sizeof(const char *));
35  list[n].element[nelem] = G_store(elem);
36  list[n].desc = G_realloc(list[n].desc, (nelem + 1) * sizeof(const char *));
37  list[n].desc[nelem] = G_store(desc);
38 }
void M__add_element(const char *elem, const char *desc)
Add element to the list.
Definition: add_elem.c:24
int nlist
Definition: read_list.c:23
Definition: lidar.h:86
Definition: manage.h:4
#define G_realloc(p, n)
Definition: defs/gis.h:114
const char ** desc
Definition: manage.h:8
char * G_store(const char *)
Copy string to allocated memory.
Definition: strings.c:87
const char ** element
Definition: manage.h:6
int nelem
Definition: manage.h:10