18#include "gis_local_proto.h"
20static char *file_name(
char *,
const char *,
const char *,
const char *,
21 const char *,
const char *);
22static void append_char(
char *,
char);
102 const char *
name,
const char *mapset)
128 const char *env, *tmp_path;
131 env = getenv(
"GRASS_VECTOR_TMPDIR_MAPSET");
132 if (env && strcmp(env,
"0") == 0) {
133 tmp_path = getenv(
"TMPDIR");
155 const char *mapset,
const char *basedir)
160char *file_name(
char *
path,
const char *dir,
const char *
element,
161 const char *
name,
const char *mapset,
const char *base)
163 const char *pname =
name;
166 sprintf(
path,
"%s", base);
169 char xname[GNAME_MAX];
170 char xmapset[GMAPSET_MAX];
180 sprintf(
path,
"%s%c%s", location, HOST_DIRSEP, xmapset);
182 else if (mapset && *mapset)
183 sprintf(
path,
"%s%c%s", location, HOST_DIRSEP, mapset);
185 sprintf(
path,
"%s%c%s", location, HOST_DIRSEP,
G_mapset());
190 append_char(
path, HOST_DIRSEP);
193 if (pname && *pname) {
194 append_char(
path, HOST_DIRSEP);
199 append_char(
path, HOST_DIRSEP);
205 append_char(
path, HOST_DIRSEP);
209 if (pname && *pname) {
210 append_char(
path, HOST_DIRSEP);
220void 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_basedir(char *path, const char *element, const char *name, const char *mapset, const char *basedir)
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_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__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)