00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014 #include <string.h>
00015 #include <grass/gis.h>
00016
00017 #ifndef COMMENTED_OUT
00018 int G__name_in_mapset (
00019 char *name_in,
00020 char *name_out,
00021 char *mapset)
00022 {
00023 char in[1024];
00024
00025 *in = 0;
00026 return (sscanf (name_in,"%s %s %s", name_out, in, mapset) == 3 &&
00027 strcmp (in,"in") == 0);
00028 }
00029 #endif
00030
00031 int G__name_is_fully_qualified (
00032 char *fullname,
00033 char *name,char *mapset)
00034 {
00035 char *p,*q;
00036
00037
00038
00039 *name = *mapset = 0;
00040
00041 for (p = fullname; *p ; p++)
00042 if (*p == '@')
00043 break;
00044
00045 if (*p == 0)
00046 return 0;
00047
00048
00049 q = name;
00050 while (fullname != p)
00051 *q++ = *fullname++;
00052 *q = 0;
00053
00054
00055 p++;
00056 q = mapset;
00057 while ((*q++ = *p++))
00058 ;
00059
00060 return (*name && *mapset);
00061 }
00062
00063
00093 char *
00094 G_fully_qualified_name (char *name, char *mapset)
00095
00096 {
00097 char fullname[1024];
00098 char *G_store();
00099
00100 if(strchr(name, '@'))
00101 sprintf (fullname, "%s", name);
00102 else
00103 sprintf (fullname, "%s@%s", name, mapset);
00104
00105 return G_store(fullname);
00106 }