GRASS 8 Programmer's Manual 8.6.0dev(2026)-1878fdfec5
Loading...
Searching...
No Matches
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)
 
int G_strncasecmp (const char *x, const char *y, int n)
 String compare ignoring case (upper or lower) - limited number of characters.
 
charG_store (const char *s)
 Copy string to allocated memory.
 
charG_store_upper (const char *s)
 Copy string to allocated memory and convert copied string to upper case.
 
charG_store_lower (const char *s)
 Copy string to allocated memory and convert copied string to lower case.
 
charG_strchg (char *bug, char character, char new)
 Replace all occurrences of character in string bug with new.
 
charG_str_replace (const char *buffer, const char *old_str, const char *new_str)
 Replace all occurrences of old_str in buffer with new_str.
 
charG_str_concat (const char **src_strings, int num_strings, const char *sep, int maxsize)
 String concatenation.
 
void G_strip (char *buf)
 Removes all leading and trailing white space from string.
 
charG_chop (char *line)
 Chop leading and trailing white spaces.
 
void G_str_to_upper (char *str)
 Convert string to upper case.
 
void G_str_to_lower (char *str)
 Convert string to lower case.
 
int G_str_to_sql (char *str)
 Make string SQL compliant.
 
void G_squeeze (char *line)
 Remove superfluous white space.
 
charG_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)
 

Detailed Description

GIS Library - Find raster map.

GIS Library - string/chring movement functions.

SPDX-FileCopyrightText: 1999-2009 GRASS Development Team SPDX-License-Identifier: GPL-2.0-or-later

Author
Original author CERL
Todo:
merge interesting functions from ../datetime/scan.c here

SPDX-FileCopyrightText: 1999-2008, 2011 GRASS Development Team SPDX-License-Identifier: GPL-2.0-or-later

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 24 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 330 of file strings.c.

References t.

Referenced by check_create_export_opts(), check_create_import_opts(), check_mapset_in_layer_name(), dig_read_frmt_ascii(), G_get_projsrid(), G_get_projwkt(), G_parser(), G_str_to_color(), get_key_data(), Rast_parse_color_rule(), read_coor(), S_read(), and Vect_read_ascii().

◆ 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 444 of file strings.c.

References l, and t.

Referenced by Rast_get_sample_bilinear(), Rast_get_sample_cubic(), and Rast_get_sample_nearest().

◆ 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 85 of file strings.c.

References G_malloc, NULL, and strcpy.

Referenced by cairo_read_ppm(), cairo_write_ppm(), COM_Set_encoding(), 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(), font_get_encoding(), font_init_freetype(), G__home(), G__md_print_python_short_version(), G__read_Cell_head(), G__wps_print_process_description(), G_add_keyword(), G_config_path(), G_database_datum_name(), G_database_ellipse_name(), G_date(), G_define_standard_option(), G_fully_qualified_name(), G_get_available_mapsets(), G_init_logging(), G_ls2(), G_myname(), G_option_to_separator(), G_parser(), G_putenv(), G_read_datum_table(), G_read_ellipsoid_table(), G_set_key_value(), G_set_program_name(), G_store_lower(), G_store_upper(), G_str_concat(), G_str_replace(), G_tempfile_pid(), G_tempfile_pid_basedir(), G_whoami(), get_pj_area(), get_pj_object(), GP_get_sitename(), GP_load_site(), GP_set_style_thematic(), GPJ__get_datum_params(), GPJ__get_ellipsoid_params(), GPJ_get_datum_by_name(), GPJ_get_datum_transform_by_name(), GPJ_get_default_datum_params_by_name(), GPJ_get_ellipsoid_by_name(), GPJ_grass_to_osr(), GPJ_init_transform(), GPJ_osr_to_grass(), gsds_newh(), GV_get_vectname(), GV_load_vector(), GV_set_style_thematic(), gvl_file_newh(), html_polygon(), I_iclass_init_statistics(), I_read_signatures(), I_SetClassTitle(), I_SetSigTitle(), M__add_element(), M_read_list(), parse_fontcap_entry(), pj_get_kv(), pj_get_string(), Rast3d_fill_header(), Rast3d_get_window_params(), Rast3d_init_defaults(), Rast3d_key_get_string(), Rast3d_open_cell_new(), Rast3d_open_cell_old_no_header(), Rast3d_set_unit(), Rast__open_null_write(), Rast__open_old(), Rast__read_history(), Rast_append_history(), Rast_create_gdal_link(), Rast_get_cell_title(), Rast_get_gdal_link(), Rast_get_reclass(), Rast_get_semantic_label_or_name(), Rast_get_vrt(), Rast_mask_info(), Rast_set_cats_fmt(), Rast_set_cats_title(), Rast_set_d_cat(), Rast_set_history(), read_datum_table(), read_ellipsoid_table(), read_pgm(), Segment_open(), tgis_get_database_name(), tgis_get_default_database_name(), tgis_get_driver_name(), tgis_map_list_insert(), V1_open_new_pg(), V1_open_old_pg(), Vect__open_old(), Vect_add_dblink(), Vect_close(), Vect_default_field_info(), Vect_get_column_names(), Vect_get_column_names_types(), Vect_get_column_types(), Vect_get_dblink(), Vect_get_finfo_geometry_type(), Vect_get_finfo_layer_name(), Vect_get_finfo_topology_info(), Vect_get_proj_name(), Vect_line_to_wkt2(), Vect_maptype_info(), Vect_read_area_to_wkt2(), Vect_set_comment(), Vect_set_date(), Vect_set_map_date(), Vect_set_map_name(), Vect_set_organization(), Vect_set_person(), Vect_sfa_line_geometry_type(), Vect_subst_var(), Vect_write_ascii(), 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 139 of file strings.c.

References G_store(), and G_str_to_lower().

◆ 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 115 of file strings.c.

References G_store(), and G_str_to_upper().

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 265 of file strings.c.

References G_free(), G_malloc, G_store(), and NULL.

Referenced by Vect_get_column_names(), Vect_get_column_names_types(), and Vect_get_column_types().

◆ 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:187
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 187 of file strings.c.

References count, G_malloc, G_store(), N, and NULL.

Referenced by db_read_dbmscap(), Vect_get_finfo_geometry_type(), and Vect_subst_var().

◆ 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 381 of file strings.c.

Referenced by G_store_lower(), and 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 401 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 363 of file strings.c.

Referenced by G_store_upper().

◆ G_strcasecmp()

◆ 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 475 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 158 of file strings.c.

Referenced by G__md_print_python_short_version().

◆ G_strip()

◆ 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 67 of file strings.c.

References x.

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