GRASS Programmer's Manual  6.5.svn(2014)-r66266
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
legal_vname.c File Reference

Vector library - Check if map name is legal vector map name. More...

#include <string.h>
#include <grass/gis.h>
#include <grass/Vect.h>
#include <grass/glocale.h>
Include dependency graph for legal_vname.c:

Go to the source code of this file.

Functions

int Vect_legal_filename (const char *s)
 Check if output is legal vector name. More...
 
int Vect_check_input_output_name (const char *input, const char *output, int error)
 Check for input and output vector map name. More...
 

Detailed Description

Vector library - Check if map name is legal vector map name.

(C) 2001-2008 by the GRASS Development Team

This program is free software under the GNU General Public License (>=v2). Read the file COPYING that comes with GRASS for details.

Author
Radim Blazek
Date
2001-2008

Definition in file legal_vname.c.

Function Documentation

int Vect_check_input_output_name ( const char *  input,
const char *  output,
int  error 
)

Check for input and output vector map name.

Check

  • output is legal vector name
  • if can find input map
  • if input was found in current mapset, check if input != output
Parameters
[in]inputinput name
[in]outputoutput name
[in]errorerror type GV_FATAL_EXIT, GV_FATAL_PRINT, GV_FATAL_RETURN
Returns
0 OK
1 error

Definition at line 94 of file legal_vname.c.

References G__name_is_fully_qualified(), G_fatal_error(), G_find_vector2(), G_mapset(), G_warning(), NULL, and Vect_legal_filename().

int Vect_legal_filename ( const char *  s)

Check if output is legal vector name.

Rule: [A-Za-z][A-Za-z0-9_@]*

Check also for SQL keywords.

Parameters
[in]sfilename to be checked
Returns
1 OK
-1 if name does not start with letter A..Za..z or if name does not continue with A..Za..z0..9_@

Definition at line 36 of file legal_vname.c.

References buf, G_strcasecmp(), G_warning(), NULL, dialogs::s, and sprintf().

Referenced by Vect_check_input_output_name(), Vect_copy(), Vect_open_new(), and Vect_rename().