1 /*!
2 * \file lib/gis/strings.c
3 *
4 * \brief GIS Library - Find raster map
5 *
6 * (C) 1999-2009 by the GRASS Development Team
7 *
8 * This program is free software under the GNU General Public
9 * License (>=v2). Read the file COPYING that comes with GRASS
10 * for details.
11 *
12 * \author Original author CERL
13 */
14
15 #include <grass/gis.h>
16
17 /*!
18 * \brief Find a raster map
19 *
20 * Looks for the raster map <i>name</i> in the database. The
21 * <i>mapset</i> parameter can either be the empty string "", which
22 * means search all the mapsets in the user's current mapset search
23 * path (see \ref Mapset_Search_Path for more details about the search
24 * path) or it can be a specific mapset name, which means look for the
25 * raster map only in this one mapset (for example, in the current
26 * mapset). If found, the mapset where the raster map lives is
27 * returned. If not found, the NULL pointer is returned.
28 *
29 * Note: If the user specifies a fully qualified raster map which
30 * exists, then G_find_raster() modifies <i>name</i> by removing
31 * the "@<i>mapset</i>".
32 *
33 * For example, to find a raster map anywhere in the database:
34 \code
35 char name[GNAME_MAX];
36 char *mapset;
37 if ((mapset = G_find_raster(name,"")) == NULL)
38 // not found
39 \endcode
40 *
41 * To check that the raster map exists in the current mapset:
42 *
43 \code
44 char name[GNAME_MAX];
45 if (G_find_raster(name, G_mapset()) == NULL)
46 // not found
47 \endcode
48 *
49 * \param[in,out] name map name
50 * \param mapset mapset name or ""
51 *
52 * \return mapset where raster map was found
53 * \return NULL if not found
54 */
G_find_raster(char * name,const char * mapset)55 const char *G_find_raster(char *name, const char *mapset)
56 {
57 G_debug(1, "G_find_raster(): name=%s mapset=%s", name, mapset);
58 return G_find_file("cell", name, mapset);
59 }
60
61 /*!
62 * \brief Find a raster map (look but don't touch)
63 *
64 * The same as G_find_raster() but doesn't remove the "@<i>mapset</i>"
65 * qualification from <i>name</i>, if present.
66 *
67 * Returns NULL if the map wasn't found, or the mapset the raster was
68 * found in if it was.
69 *
70 * \param name map name
71 * \param mapset mapset name or ""
72 *
73 * \return mapset where raster map was found
74 * \return NULL if not found
75 */
G_find_raster2(const char * name,const char * mapset)76 const char *G_find_raster2(const char *name, const char *mapset)
77 {
78 G_debug(1, "G_find_raster2(): name=%s mapset=%s", name, mapset);
79 return G_find_file2("cell", name, mapset);
80 }
81