16 #include <grass/gis.h>
18 #include "gis_local_proto.h"
20 static char *file_name(
char *,
const char *,
const char *,
21 const char *,
const char *,
const char *);
22 static void append_char(
char*,
char);
62 const char *
element,
const char *
name,
const char *mapset)
104 const char *
name,
const char *mapset)
128 const char *
name,
const char *mapset)
130 const char *env, *tmp_path;
133 env = getenv(
"GRASS_VECTOR_TMPDIR_MAPSET");
134 if (env && strcmp(env,
"0") == 0) {
135 tmp_path = getenv(
"TMPDIR");
141 char *file_name(
char *
path,
142 const char *dir,
const char *
element,
const char *
name,
143 const char *mapset,
const char *base)
145 const char *pname =
name;
148 sprintf(
path,
"%s", base);
151 char xname[GNAME_MAX];
152 char xmapset[GMAPSET_MAX];
162 sprintf(
path,
"%s%c%s", location, HOST_DIRSEP, xmapset);
164 else if (mapset && *mapset)
165 sprintf(
path,
"%s%c%s", location, HOST_DIRSEP, mapset);
167 sprintf(
path,
"%s%c%s", location, HOST_DIRSEP,
G_mapset());
172 append_char(
path, HOST_DIRSEP);
175 if (pname && *pname) {
176 append_char(
path, HOST_DIRSEP);
181 append_char(
path, HOST_DIRSEP);
187 append_char(
path, HOST_DIRSEP);
191 if (pname && *pname) {
192 append_char(
path, HOST_DIRSEP);
202 void append_char(
char* s,
char c)
void G_free(void *buf)
Free allocated memory.
int G_debug(int level, const char *msg,...)
Print debugging message.
char * G_file_name(char *path, const char *element, const char *name, const char *mapset)
Builds full path names to GIS data files.
char * G_file_name_tmp(char *path, const char *element, const char *name, const char *mapset)
Builds full path names to GIS data files in temporary directory (for internal use only)
char * G_file_name_misc(char *path, const char *dir, const char *element, const char *name, const char *mapset)
Builds full path names to GIS misc data files.
char * G__location_path(void)
Get current location UNIX-like path (internal use only)
const char * G_mapset(void)
Get current mapset name.
int G_name_is_fully_qualified(const char *fullname, char *name, char *mapset)
Check if map name is fully qualified (map @ mapset)