GRASS GIS 8 Programmer's Manual  8.4.0dev(2024)-55b2a2bccc
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 =
35  G_realloc(list[n].element, (nelem + 1) * sizeof(const char *));
36  list[n].element[nelem] = G_store(elem);
37  list[n].desc = G_realloc(list[n].desc, (nelem + 1) * sizeof(const char *));
38  list[n].desc[nelem] = G_store(desc);
39 }
void M__add_element(const char *elem, const char *desc)
Add element to the list.
Definition: add_elem.c:24
#define G_realloc(p, n)
Definition: defs/gis.h:96
char * G_store(const char *)
Copy string to allocated memory.
Definition: strings.c:87
int nlist
Definition: read_list.c:23
Definition: lidar.h:85
Definition: manage.h:4
const char ** desc
Definition: manage.h:7
int nelem
Definition: manage.h:9
const char ** element
Definition: manage.h:5