summaryrefslogtreecommitdiff
path: root/support/dktools/dk4strw.h
diff options
context:
space:
mode:
Diffstat (limited to 'support/dktools/dk4strw.h')
-rw-r--r--support/dktools/dk4strw.h442
1 files changed, 0 insertions, 442 deletions
diff --git a/support/dktools/dk4strw.h b/support/dktools/dk4strw.h
deleted file mode 100644
index 714a60c019..0000000000
--- a/support/dktools/dk4strw.h
+++ /dev/null
@@ -1,442 +0,0 @@
-/*
-Copyright (C) 2015-2020, Dirk Krause
-SPDX-License-Identifier: BSD-3-Clause
-*/
-
-/*
- WARNING: This file was generated by the dkct program (see
- http://dktools.sourceforge.net/ for details).
- Changes you make here will be lost if dkct is run again!
- You should modify the original source and run dkct on it.
- Original source: dk4strw.ctr
-*/
-
-#ifndef DK4STRW_H_INCLUDED
-/** Avoid multiple inclusions. */
-#define DK4STRW_H_INCLUDED 1
-
-
-#line 10 "dk4strw.ctr"
-
-/** @file
- Additional string functions for
- wchar_t strings.
-
- Although some of the functions in this module duplicate
- functionality from the C runtime library on Windows, you should use
- the functions from this module.
- With DK4DK4_WIN_AVOID_CRT or DK4_WIN_DENY_CRT defined to non-zero
- these functions call Windows API functions like
- lstrcmpW() ... instead of CRT functions.
-*/
-
-#ifndef DK4CONF_H_INCLUDED
-#if DK4_BUILDING_DKTOOLS4
-#include "dk4conf.h"
-#else
-#include <dktools-4/dk4conf.h>
-#endif
-#endif
-
-#ifndef DK4TYPES_H_INCLUDED
-#if DK4_BUILDING_DKTOOLS4
-#include "dk4types.h"
-#else
-#include <dktools-4/dk4types.h>
-#endif
-#endif
-
-#ifndef DK4ERROR_H_INCLUDED
-#if DK4_BUILDING_DKTOOLS4
-#include "dk4error.h"
-#else
-#include <dktools-4/dk4error.h>
-#endif
-#endif
-
-#ifndef STDLIB_H_INCLUDED
-#include <stdlib.h>
-#define STDLIB_H_INCLUDED 1
-#endif
-
-#if DK4_HAVE_WCHAR_H
-#ifndef WCHAR_H_INCLUDED
-#include <wchar.h>
-#define WCHAR_H_INCLUDED 1
-#endif
-#endif
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/** Copy string, check destination buffer size.
-
- CRT on Windows: Optional.
- @param dst Destination buffer address.
- @param sz Destination buffer size.
- @param src Source string.
- @param erp Error report, may be NULL.
- @return 1 on success, 0 on error.
-
- Error codes:
- - DK4_E_INVALID_ARGUMENTS<br>
- if dst or src is NULL or sz is 0,
- - DK4_E_BUFFER_TOO_SMALL<br>
- if the dst buffer is too small.
-*/
-int
-dk4strw_cpy_s(wchar_t *dst, size_t sz, const wchar_t *src, dk4_er_t *erp);
-
-/** Concatenate strings, check destination buffer size.
-
- CRT on Windows: Optional.
- @param dst Destination buffer address.
- @param sz Destination buffer size.
- @param src Source string.
- @param erp Error report, may be NULL.
- @return 1 on success, 0 on error.
-
- Error codes:
- - DK4_E_INVALID_ARGUMENTS<br>
- if dst or src is NULL or sz is 0,
- - DK4_E_MATH_OVERFLOW<br>
- if a mathematical overflow occured in size calculation,
- - DK4_E_BUFFER_TOO_SMALL<br>
- if the concatenated string doest not fit into the buffer.
-*/
-int
-dk4strw_cat_s(wchar_t *dst, size_t sz, const wchar_t *src, dk4_er_t *erp);
-
-/** Copy characters within a string from right to left.
- This copy operation is intended for moving characters within
- one string from right to left, making the string shorter
- as is. This function does not check buffer size or report
- any error.
- For normal string copy operations, use the dk4strw_cpy_s()
- function instead.
-
- CRT on Windows: Not used.
- @param dst Destination buffer address.
- @param src Source string.
-*/
-void
-dk4strw_cpy_to_left(wchar_t *dst, const wchar_t *src);
-
-/** Find string length.
-
- CRT on Windows: Optional, disabling CRT reduces functionality
- to strings with length fitting to int.
- @param src Source string.
- @return String length.
-*/
-size_t
-dk4strw_len(const wchar_t *src);
-
-/** Compare two strings.
-
- CRT on Windows: Optional.
- @param s1 Left string, may be NULL.
- @param s2 Right string, may be NULL.
- @return 1 if s1>s2, 0 if s1==s2, -1 if s1<s2.
-*/
-int
-dk4strw_cmp(const wchar_t *s1, const wchar_t *s2);
-
-/** Compare two strings.
-
- CRT on Windows: Optional.
- @param s1 Left string, may be NULL.
- @param s2 Right string, may be NULL.
- @param n Maximum number of characters to compare.
- @return 1 if s1>s2, 0 if s1==s2, -1 if s1<s2.
-*/
-int
-dk4strw_ncmp(const wchar_t *s1, const wchar_t *s2, size_t n);
-
-/** Compare two strings, case-insensitive comparison.
-
- CRT on Windows: Optional.
- @param s1 Left string, may be NULL.
- @param s2 Right string, may be NULL.
- @return 1 if s1>s2, 0 if s1==s2, -1 if s1<s2.
-*/
-int
-dk4strw_casecmp(const wchar_t *s1, const wchar_t *s2);
-
-/** Compare two file path names.
-
- CRT on Windows: Optional.
- @param s1 Left string, may be NULL.
- @param s2 Right string, may be NULL.
- @return 1 if s1>s2, 0 if s1==s2, -1 if s1<s2.
-*/
-int
-dk4strw_pathcmp(const wchar_t *s1, const wchar_t *s2);
-
-/** Find first occurance of character c in string s.
-
- CRT on Windows: Optional, disabling CRT degrades performance.
- @param s String to search for c.
- @param c Character to find.
- @return Pointer to first occurance if found, NULL otherwise.
-*/
-wchar_t *
-dk4strw_chr(const wchar_t *s, wchar_t c);
-
-/** Find last occurance of character c in string s.
-
- CRT on Windows: Optional, disabling CRT degrades performance.
- @param s String to search for c.
- @param c Character to find.
- @return Pointer to last occurance if found, NULL otherwise.
-*/
-wchar_t *
-dk4strw_rchr(const wchar_t *s, wchar_t c);
-
-/** Convert character to upper-case character.
-
- CRT on windows: Optional, disabling CRT degrades performance.
- @param c Character to convert.
- @return Conversion result.
-*/
-wchar_t
-dk4strw_toupper(wchar_t c);
-
-/** Convert character to lower-case character.
-
- CRT on windows: Optional, disabling CRT degrades performance.
- @param c Character to convert.
- @return Conversion result.
-*/
-wchar_t
-dk4strw_tolower(wchar_t c);
-
-/** Retrieve first token from *stringp.
- CRT on Windows: Optional, disabling CRT degrades performance.
- @param stringp Adress of string pointer.
- @param delim String containing the delimiter set,
- my be NULL to use the default delimiter
- set (space, tabulator, carriage return and newline).
- @return Pointer to first token on success, NULL if no (further)
- token found.
-*/
-wchar_t *
-dk4strw_sep(wchar_t **stringp, const wchar_t *delim);
-
-/** Find first token in string.
-
- CRT on Windows: Optional, disabling CRT degrades performance.
- @param src String to search for tokens.
- @param delim String containing the delimiter characters,
- may be NULL to use the default delimiter set.
- @return Pointer to first token if found, NULL otherwise.
-*/
-wchar_t *
-dk4strw_start(const wchar_t *src, const wchar_t *delim);
-
-/** Cut string after first token, find start of second token in string.
-
- CRT on Windows: Optional, disabling CRT degrades performance.
- @param src String to search for tokens,
- normally the result of dk4strw_start() or a
- previous dk4strw_next() call.
- @param delim String containing the delimiter characters,
- may be NULL to use the default delimiter set.
- @return Pointer to second token if found, NULL otherwise.
-*/
-wchar_t *
-dk4strw_next(wchar_t *src, const wchar_t *delim);
-
-/** Split a string into tokens.
- CRT on Windows: Optional, disabling CRT degrades performance.
- @param dpp Pointer to string pointer array.
- @param szdpp Size of destination string pointer array.
- @param src Source string to process.
- @param delim String containing delimiter characters,
- may be NULL to use the default delimiter set.
- @param erp Error report, may be NULL.
- @return Number of tokens found on success, 0 if no token
- found or on error.
-
- Error codes:
- - DK4_E_INVALID_ARGUMENTS<br>
- for invalid function arguments,
- - DK4_E_BUFFER_TOO_SMALL<br>
- with dt.mem.nelem set to the number of tokens in string if the dpp
- array is too short.
-*/
-size_t
-dk4strw_tokenize(
- wchar_t **dpp, size_t szdpp, wchar_t *src, const wchar_t *delim, dk4_er_t *erp
-);
-
-/** Normalize a string (remove leading and trailing delimiters,
- replace delimiter sequences by just one delimiter).
-
- CRT on Windows: Optional, disabling CRT degrades performance.
- @param src Buffer containing the string to normalize.
- @param delim String containing delimiter characters,
- may be NULL to use the default delimiter set.
-*/
-void
-dk4strw_normalize(wchar_t *src, const wchar_t *delim);
-
-/** Find index of a string in an array of strings.
-
- CRT on Windows: Optional.
- @param arr Array of strings.
- @param str String to find in array.
- @param cs Flag: Case-sensitive search (0=no, other=yes).
- @return Non-negative index value on success, -1 on error.
-*/
-int
-dk4strw_array_index(const wchar_t * const *arr, const wchar_t *str, int cs);
-
-/** Find index of a string in an array of strings.
-
- CRT on windows: Optional, disabling CRT degrades performance
- for case-insensitive comparisons.
- @param arr Array of strings allowing abbreviation.
- @param spec Special character indicating start of optional text.
- @param str String to find in array.
- @param cs Flag: Case-sensitive search (0=no, other=yes).
- @return Non-negative index value on success, -1 on error.
-*/
-int
-dk4strw_abbr_index(
- const wchar_t * const *arr,
- wchar_t spec,
- const wchar_t *str,
- int cs
-);
-
-/** Check whether a text matches a pattern, the text may be abbreviated.
-
- CRT on windows: Optional, disabling CRT degrades performance
- for case-insensitive comparisons.
- @param str Text to check.
- @param pattern Pattern for comparison.
- @param spec Special character marking the abbreviation in the
- pattern.
- @param cs Flag: Case sensitive (1) or not (0).
- @return 1 for a match, 0 otherwise.
-*/
-int
-dk4strw_is_abbr(const wchar_t *str,const wchar_t *pattern,wchar_t spec,int cs);
-
-/** Check whether a string represents a boolean value.
-
- CRT on windows: Optional, disabling CRT degrades performance.
- @param str String to check.
- @return 1 if str represents a boolean value, 0 otherwise.
-*/
-int
-dk4strw_is_bool(const wchar_t *str);
-
-/** Check whether a string represents the boolean value TRUE.
-
- CRT on windows: Optional, disabling CRT degrades performance.
- @param str String to check.
- @return 1 if str represents the boolean value TRUE, 0 otherwise.
-*/
-int
-dk4strw_is_on(const wchar_t *str);
-
-#if (DK4_ON_WINDOWS) || (DK4_HAVE_MALLOC && DK4_HAVE_FREE)
-
-/** Duplicate string in dynamically allocated memory.
-
- CRT on Windows: Optional, disabling CRT reduces functionality
- to strings with length fitting to int and overall size in
- bytes - including finalizer - fitting into a DWORD.
- @param src String to duplicate.
- @param erp Error report, may be NULL.
- @return Pointer to string in new memory on succes, NULL on error.
- Use dk4mem_free() to release the memory after usage.
-
- Error codes:
- - DK4_E_INVALID_ARGUMENTS<br>
- if src is a NULL pointer,
- - DK4_E_MATH_OVERFLOW<br>
- on mathematical overflow in size calculation,
- - DK4_E_MEMORY<br>
- if no memory is available.
-*/
-wchar_t *
-dk4strw_dup(const wchar_t *src, dk4_er_t *erp);
-
-#endif
-
-
-
-/** Remove trailing white spaces.
-
- CRT on Windows: Optional, disabling CRT degrades performance.
- @param str String to remove white spaces from.
- @param whsp White spaces set.
-*/
-void
-dk4strw_rtwh(wchar_t *str, const wchar_t *whsp);
-
-/** Remove trailing newline from line.
-
- CRT on Windows: Not used.
- @param lptr Line pointer.
-*/
-void
-dk4strw_delnl(wchar_t *lptr);
-
-/** Skip the first text words in a line, return pointer to start
- of next word.
-
- CRT on Windows: Optional, disabling CRT degrades performance.
- @param line Line to process.
- @param skip Number of words to skip.
- @return Pointer to next word on success, NULL on error.
-*/
-const wchar_t *
-dk4strw_skip(const wchar_t *line, size_t skip);
-
-/** Sanitize string (overwrite using 0).
-
- CRT on Windows: Optional.
- @param str Address of string to sanitize.
- @return 1 on success, 0 on error.
-*/
-int
-dk4strw_sanitize(wchar_t *str);
-
-/** Sanitize string buffer (overwrite using 0 bytes).
-
- CRT on Windows: Optional.
- @param str Address of string buffer.
- @param sz Size of string buffer (number of wchar_t).
- @return 1 on success, 0 on error.
-*/
-int
-dk4strw_buffer_sanitize(wchar_t *str, size_t sz);
-
-/** Sanitize dynamically allocated memory and release it.
-
- CRT on Windows: Optional.
- @param str Address of string to sanitize and release.
- @return 1 on success, 0 on error.
-*/
-int
-dk4strw_free_sanitized(wchar_t *str);
-
-#ifdef __cplusplus
-}
-#endif
-
-
-/** Sanitize string and release it, set pointer to NULL.
- @param p Pointer to string to release.
-*/
-#define dk4strw_release_sanitized(p) \
-do { if (NULL != p) { (void)dk4strw_free_sanitized(p); } p = NULL; } while (0)
-
-
-#endif