nme_in_mps.c

Go to the documentation of this file.
00001 /*****************************************************************
00002  * G__name_in_mapset (name_in, name_out, mapset)
00003  *
00004  * checks to see if 'name_in' is in the format: <name> in <mapset>
00005  *
00006  * returns
00007  *    1 (TRUE)  name_in is in this format.
00008  *              name_out will contain the simple <name>
00009  *              mapset will contain <mapset>
00010  *    0 (FALSE) name_in is not in this format
00011  *              name_out and mapset are undefined (changed)
00012  ****************************************************************/
00013 
00014 #include "gis.h"
00015 #include <string.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 /* search for name@mapset */
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 /* copy the name part */
00049     q = name;
00050     while (fullname != p)
00051         *q++ = *fullname++;
00052     *q = 0;
00053 
00054 /* copy the mapset part */
00055     p++;        /* skip the @ */
00056     q = mapset;
00057     while ((*q++ = *p++))
00058         ;
00059 
00060     return (*name && *mapset);
00061 }
00062 
00063 
00093 char *
00094 G_fully_qualified_name (name, mapset)
00095     char *name;
00096     char *mapset;
00097 {
00098     char fullname[1024];
00099     char *G_store();
00100 
00101     if(strchr(name, '@'))
00102         sprintf (fullname, "%s", name);
00103     else
00104         sprintf (fullname, "%s@%s", name, mapset);
00105 
00106     return G_store(fullname);
00107 }

Generated on Mon Jan 1 19:49:25 2007 for GRASS by  doxygen 1.5.1