1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
|
/**********************************************************************
*
* char *
* G_mapset()
*
* returns: pointer to string containing the one word mapset
* name.
* NULL if user does not have access to mapset.
*
**********************************************************************/
#include <string.h>
#include <stdlib.h>
#include "gis.h"
#include "glocale.h"
/*!
* \brief current mapset name
*
* Returns the name of the
* current mapset in the current location. This routine is often used when
* accessing files in the current mapset. See Mapsets for an
* explanation of mapsets.
*
* \param void
* \return char *
*/
char *
G_mapset()
{
static char mapset[30];
static int first = 1;
char *m;
char msg[100];
m = G__mapset();
if( m == NULL )
G_fatal_error( _("MAPSET is not set") );
if (first)
first = 0;
else if (strcmp(mapset,m) == 0)
return mapset;
strcpy (mapset,m);
switch (G__mapset_permissions (mapset))
{
case 0:
case 1:
return mapset;
/*
case 0:
sprintf(msg,"MAPSET %s - permission denied", mapset);
break;
*/
default:
sprintf(msg,_("MAPSET %s not found"), mapset);
break;
}
G_fatal_error (msg);
exit(-1);
}
char *
G__mapset()
{
return G__getenv("MAPSET");
}
|