GRASS GIS 8 Programmer's Manual  8.4.0dev(2024)-112dd97adf
strings.c File Reference

GIS Library - Find raster map. More...

#include <string.h>
#include <stdlib.h>
#include <ctype.h>
#include <sys/types.h>
#include <grass/gis.h>
Include dependency graph for strings.c:

Go to the source code of this file.

Macros

#define NULL   0
 

Functions

int G_strcasecmp (const char *x, const char *y)
 String compare ignoring case (upper or lower) More...
 
int G_strncasecmp (const char *x, const char *y, int n)
 String compare ignoring case (upper or lower) - limited number of characters. More...
 
char * G_store (const char *s)
 Copy string to allocated memory. More...
 
char * G_store_upper (const char *s)
 Copy string to allocated memory and convert copied string to upper case. More...
 
char * G_store_lower (const char *s)
 Copy string to allocated memory and convert copied string to lower case. More...
 
char * G_strchg (char *bug, char character, char new)
 Replace all occurrences of character in string bug with new. More...
 
char * G_str_replace (const char *buffer, const char *old_str, const char *new_str)
 Replace all occurrences of old_str in buffer with new_str. More...
 
char * G_str_concat (const char **src_strings, int num_strings, const char *sep, int maxsize)
 String concatenation. More...
 
void G_strip (char *buf)
 Removes all leading and trailing white space from string. More...
 
char * G_chop (char *line)
 Chop leading and trailing white spaces. More...
 
void G_str_to_upper (char *str)
 Convert string to upper case. More...
 
void G_str_to_lower (char *str)
 Convert string to lower case. More...
 
int G_str_to_sql (char *str)
 Make string SQL compliant. More...
 
void G_squeeze (char *line)
 Remove superfluous white space. More...
 
char * G_strcasestr (const char *str, const char *substr)
 Finds the first occurrence of the sub-string in the null-terminated string ignoring case (upper or lower) More...
 

Detailed Description

GIS Library - Find raster map.

GIS Library - string/chring movement functions.

(C) 1999-2009 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
Original author CERL
Todo:
merge interesting functions from ../datetime/scan.c here

(C) 1999-2008, 2011 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
Dave Gerdes (USACERL)
Michael Shapiro (USACERL)
Amit Parghi (USACERL)
Bernhard Reiter (Intevation GmbH, Germany) and many others

Definition in file strings.c.

Macro Definition Documentation

◆ NULL

#define NULL   0

Definition at line 26 of file strings.c.

Function Documentation

◆ G_chop()

char* G_chop ( char *  line)

Chop leading and trailing white spaces.

space, \f, \n, \r, \t, \v 

Modified copy of G_squeeze() by RB in March 2000.

Parameters
linebuffer to be worked on
Returns
pointer to string

Definition at line 332 of file strings.c.

Referenced by check_create_export_opts(), check_create_import_opts(), check_mapset_in_layer_name(), dig_read_frmt_ascii(), G_str_to_color(), and read_coor().

◆ G_squeeze()

void G_squeeze ( char *  line)

Remove superfluous white space.

Leading and trailing white space is removed from the string line and internal white space which is more than one character is reduced to a single space character. White space here means spaces, tabs, linefeeds, newlines, and formfeeds.

Parameters
[in,out]line
Returns
Pointer to line

Definition at line 446 of file strings.c.

◆ G_store()

char* G_store ( const char *  s)

Copy string to allocated memory.

This routine allocates enough memory to hold the string s, copies s to the allocated memory, and returns a pointer to the allocated memory.

If s is NULL then empty string is returned.

Parameters
sstring
Returns
pointer to newly allocated string

Definition at line 87 of file strings.c.

Referenced by cairo_read_ppm(), cairo_write_ppm(), db_get_default_database_name(), db_get_default_driver_name(), db_get_default_group_name(), db_get_default_schema_name(), db_whoami(), dig_read_frmt_ascii(), G__read_Cell_head(), G_add_keyword(), G_config_path(), G_define_standard_option(), G_fully_qualified_name(), G_get_available_mapsets(), G_ls2(), G_myname(), G_option_to_separator(), G_parser(), G_putenv(), GPJ__get_datum_params(), GPJ_get_datum_by_name(), GPJ_get_default_datum_params_by_name(), GPJ_get_ellipsoid_by_name(), GPJ_init_transform(), GPJ_osr_to_grass(), I_iclass_init_statistics(), I_SetClassTitle(), I_SetSigTitle(), M__add_element(), Rast3d_open_cell_old_no_header(), Rast3d_set_unit(), Rast__open_null_write(), Rast__read_history(), Rast_append_history(), Rast_get_cell_title(), Rast_get_semantic_label_or_name(), Rast_get_vrt(), Rast_mask_info(), Rast_set_cats_title(), Rast_set_d_cat(), Rast_set_history(), read_pgm(), tgis_get_database_name(), tgis_get_default_database_name(), tgis_get_driver_name(), Vect_close(), Vect_get_dblink(), Vect_get_finfo_geometry_type(), Vect_get_finfo_layer_name(), Vect_get_finfo_topology_info(), Vect_get_proj_name(), Vect_maptype_info(), Vect_set_comment(), Vect_set_date(), Vect_set_map_date(), Vect_set_map_name(), Vect_set_organization(), Vect_set_person(), and write_pgm().

◆ G_store_lower()

char* G_store_lower ( const char *  s)

Copy string to allocated memory and convert copied string to lower case.

This routine allocates enough memory to hold the string s, copies s to the allocated memory, and returns a pointer to the allocated memory.

If s is NULL then empty string is returned.

Parameters
sstring
Returns
pointer to newly allocated lower case string

Definition at line 141 of file strings.c.

◆ G_store_upper()

char* G_store_upper ( const char *  s)

Copy string to allocated memory and convert copied string to upper case.

This routine allocates enough memory to hold the string s, copies s to the allocated memory, and returns a pointer to the allocated memory.

If s is NULL then empty string is returned.

Parameters
sstring
Returns
pointer to newly allocated upper case string

Definition at line 117 of file strings.c.

Referenced by GPJ_init_transform().

◆ G_str_concat()

char* G_str_concat ( const char **  src_strings,
int  num_strings,
const char *  sep,
int  maxsize 
)

String concatenation.

Concatenates the strings in src_strings, which consists of num_strings number of strings, with the separator sep. The size of the concatenated string is limited by maxsize.

Parameters
src_stringsarray of strings to concatenate
num_stringscount of strings in src_strings
sepseparator string
maxsizemaximum number of characters of returned string
Returns
the concatenated string (allocated)

Definition at line 267 of file strings.c.

References NULL.

◆ G_str_replace()

char* G_str_replace ( const char *  buffer,
const char *  old_str,
const char *  new_str 
)

Replace all occurrences of old_str in buffer with new_str.

Code example:

char *name;
name = G_str_replace ( inbuf, ".exe", "" );
...
G_free (name);
char * G_str_replace(const char *, const char *, const char *)
Replace all occurrences of old_str in buffer with new_str.
Definition: strings.c:189
const char * name
Definition: named_colr.c:6
Parameters
bufferinput string buffer
old_strstring to be replaced
new_strnew string
Returns
the newly allocated string, input buffer is unchanged

Definition at line 189 of file strings.c.

Referenced by Vect_get_finfo_geometry_type().

◆ G_str_to_lower()

void G_str_to_lower ( char *  str)

Convert string to lower case.

Parameters
[in,out]strpointer to string

Definition at line 383 of file strings.c.

Referenced by Vect_get_finfo_geometry_type().

◆ G_str_to_sql()

int G_str_to_sql ( char *  str)

Make string SQL compliant.

Parameters
[in,out]strpointer to string
Returns
number of changed characters

Definition at line 403 of file strings.c.

References count.

◆ G_str_to_upper()

void G_str_to_upper ( char *  str)

Convert string to upper case.

Parameters
[in,out]strpointer to string

Definition at line 365 of file strings.c.

◆ G_strcasecmp()

int G_strcasecmp ( const char *  x,
const char *  y 
)

String compare ignoring case (upper or lower)

Returning a value that has the same sign as the difference between the first differing pair of characters.

Note: strcasecmp() is affected by the locale (LC_CTYPE), while G_strcasecmp() isn't.

Parameters
xfirst string to compare
ysecond string to compare
Returns
0 the two strings are equal
-1, 1

Definition at line 47 of file strings.c.

Referenced by AS_option_to_algorithm(), Cairo_Graph_set(), check_mapset_in_layer_name(), clean_dir(), dig_read_frmt_ascii(), G_compressor_number(), G_str_to_color(), GPJ_get_datum_by_name(), GPJ_get_ellipsoid_by_name(), GPJ_osr_to_grass(), M_do_copy(), M_do_remove(), M_do_rename(), M_get_element(), PNG_Graph_set(), PS_Graph_set(), Rast_close_gdal_write_link(), read_image(), V1_close_nat(), Vect_close(), Vect_set_db_updated(), and write_image().

◆ G_strcasestr()

char* G_strcasestr ( const char *  str,
const char *  substr 
)

Finds the first occurrence of the sub-string in the null-terminated string ignoring case (upper or lower)

Parameters
strstring where to find sub-string
substrsub-string
Returns
a pointer to the first occurrence of sub-string
NULL if no occurrences are found

Definition at line 477 of file strings.c.

References G_strncasecmp(), and NULL.

◆ G_strchg()

char* G_strchg ( char *  bug,
char  character,
char  new 
)

Replace all occurrences of character in string bug with new.

Parameters
[in,out]bugbase string
charactercharacter to replace
newnew character
Returns
bug string

Definition at line 160 of file strings.c.

◆ G_strip()

void G_strip ( char *  buf)

Removes all leading and trailing white space from string.

Parameters
[in,out]bufbuffer to be worked on

Definition at line 300 of file strings.c.

Referenced by Rast_get_cell_title(), Rast_set_cats_title(), and Rast_set_d_cat().

◆ G_strncasecmp()

int G_strncasecmp ( const char *  x,
const char *  y,
int  n 
)

String compare ignoring case (upper or lower) - limited number of characters.

Returning a value that has the same sign as the difference between the first differing pair of characters.

Note: strcasecmp() is affected by the locale (LC_CTYPE), while G_strcasecmp() isn't.

Parameters
xfirst string to compare
ysecond string to compare
nnumber or characters to compare
Returns
0 the two strings are equal
-1, 1

Definition at line 69 of file strings.c.

Referenced by check_create_export_opts(), check_create_import_opts(), and G_strcasestr().