diff options
author | Norbert Preining <norbert@preining.info> | 2020-10-12 03:04:00 +0000 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2020-10-12 03:04:00 +0000 |
commit | 0ce40abb18ec02ec6fd6bcc5f21612c88daa7578 (patch) | |
tree | 416289fe1448873fd8ca33051f50ad85bffa8aaa /support/dktools/dk4pathw.h | |
parent | fdb18507cd80dc17f5a5256153d34668b4f4e61c (diff) |
CTAN sync 202010120303
Diffstat (limited to 'support/dktools/dk4pathw.h')
-rw-r--r-- | support/dktools/dk4pathw.h | 260 |
1 files changed, 0 insertions, 260 deletions
diff --git a/support/dktools/dk4pathw.h b/support/dktools/dk4pathw.h deleted file mode 100644 index ba613860e1..0000000000 --- a/support/dktools/dk4pathw.h +++ /dev/null @@ -1,260 +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: dk4pathw.ctr -*/ - -#ifndef DK4PATHW_H_INCLUDED -/** Avoid multiple inclusions. */ -#define DK4PATHW_H_INCLUDED 1 - - -#line 9 "dk4pathw.ctr" - -/** @file - String operations for path names - (wchar_t characters). -*/ - -#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 - -#ifdef __cplusplus -extern "C" { -#endif - -/** Check whether a file name is an absolute path. - CRT on Windows: Not used. - @param path Path name to check. - @return 1 for absolute path, 0 for other path. -*/ -int -dk4pathw_is_absolute(const wchar_t *path); - -/** Check whether a file name is a relative path. - CRT on Windows: Not used. - @param path Path name to check. - @return 1 for absolute path, 0 for other path. -*/ -int -dk4pathw_is_relative(const wchar_t *path); - -/** Append path filename to path name already stored in buffer. - Resolve . and .. for current directory and parent directory. - CRT on Windows: Optional, disabling CRT degrades performance. - @param buffer Buffer already containing a path. - @param sz Buffer size. - @param filename Relative file name to append to buffer. - @param erp Error report, may be NULL. - @return 1 on success, 0 on error. - - Error codes: - - DK4_E_INVALID_ARGUMENTS<br> - if buffer or filename is NULL or sz is 0, - - DK4_E_MATH_OVERFLOW<br> - if filename is too long, - - DK4_E_MEMORY<br> - if allocation of a filename copy fails, - - DK4_E_SYNTAX<br> - if too many .. in filename, - - DK4_E_BUFFER_TOO_SMALL<br> - if buffer size is too small. -*/ -int -dk4pathw_append( - wchar_t *buffer, size_t sz, const wchar_t *filename, dk4_er_t *erp -); - -/** Find pointer to suffix. - CRT on Windows: Not used. - @param filename File name to find suffix for. - @param erp Error report, may be NULL. - @return Pointer to suffix dot if found, NULL otherwise. - - Error codes: - - DK4_E_INVALID_ARGUMENTS<br> - if filename is NULL, - - DK4_E_NOT_FOUND<br> - if the file name does not contain a suffix. -*/ -wchar_t * -dk4pathw_get_suffix(const wchar_t *filename, dk4_er_t *erp); - -/** Correct file name separators from slash to backslash on Windows, - vice versa on other systems. - CRT on Windows: Not used. - @param filename File name to correct. -*/ -void -dk4pathw_correct_sep(wchar_t *filename); - -/** Check whether file name needs expansion on Windows. - CRT on Windows: Not used. - @param filename File name to check. - @return 1 if expansion is necessary, 0 otherwise. -*/ -int -dk4pathw_must_expand(const wchar_t *filename); - -/** Create file name with specified suffix. - @param pdst Destination buffer. - @param szdst Size of pdst (number of wchar_t). - @param srcname Source file name. - @param newsu New file suffix. - @param erp Error report, may be NULL. - @return 1 on success, 0 on error. - - Error codes: - - DK4_E_INVALID_ARGUMENTS<br> - if pdst or srcname or newsu is NULL or szdst is 0, - - DK4_E_BUFFER_TOO_SMALL<br> - if the dst buffer is too small. - - DK4_E_MATH_OVERFLOW<br> - if a mathematical overflow occured in size calculation, -*/ -int -dk4pathw_set_suffix( - wchar_t *pdst, - size_t szdst, - wchar_t const *srcname, - wchar_t const *newsu, - dk4_er_t *erp -); - -/** Create a dynamic copy of a file name with changed suffix. - @param srcname Old file name. - @param newsu New suffix. - @param erp Error report, may be NULL. - @return Valid pointer to changed file name on success, NULL on error. - On success call dk4mem_free() on the pointer when no longer needed - to release the memory. - - Error codes: - - DK4_E_INVALID_ARGUMENTS<br> - if srcname or newsu is NULL, - - DK4_E_BUG<br> - if a bug occured, - - DK4_E_MATH_OVERFLOW<br> - if a mathematical overflow occured in size calculation, - - DK4_E_MEMORY_ALLOCATION_FAILED<br> - with mem.elsize and mem.nelem set if there is not enough memory - available. -*/ -wchar_t * -dk4pathw_dup_change_suffix( - wchar_t const *srcname, - wchar_t const *newsu, - dk4_er_t *erp -); - -/** Calculate buffer size required to concatenate a directory - name and a file name. - @param dirname Directory name. - @param filename File name. - @param erp Error report, may be NULL. - @return Buffer size for concatenated names including the finalizer - byte on success, 0 on error. - - Error codes: - - DK4_E_INVALID_ARGUMENTS<br> - if dirname or filename is NULL, - - DK4_E_MATH_OVERFLOW<br> - if the calculation results in a numeric overflow. -*/ -size_t -dk4pathw_concatenate_size( - wchar_t const *dirname, - wchar_t const *filename, - dk4_er_t *erp -); - -/** Concatenate a directory name and a file name into an existing buffer. - This function simply concatenates directory name and file name, - . and .. for current and parent directory are not resolved. - @param buffer Result buffer for combined file name. - @param szbuf Buffer size (number of wchar_t). - @param dirn Directory name. - @param filen File name. - @param erp Error report, may be NULL. - @return 1 on success, 0 on error. - - Error codes: - - DK4_E_INVALID_ARGUMENTS<br> - if buffer, dirn or filen is NULL or szbuf is 0, - - DK4_E_BUFFER_TOO_SMALL<br> - if the buffer is too small. -*/ -int -dk4pathw_concatenate_buffer( - wchar_t *buffer, - size_t szbuf, - wchar_t const *dirn, - wchar_t const *filen, - dk4_er_t *erp -); - -/** Concatenate a directory name and a file name into newly - allocated memory. - This function simply concatenates directory name and file name, - . and .. for current and parent directory are not resolved. - @param dirn Directory name. - @param filen File name. - @param erp Error report, may be NULL. - @return Valid pointer to newly allocated memory containing the - concatenation on success, NULL on error. - On success use dk4mem_free() to release the memory when done - with it. - - Error codes: - - DK4_E_INVALID_ARGUMENTS<br> - if dirn or filen is NULL, - - DK4_E_MATH_OVERFLOW<br> - if the size calculation results in a numeric overflow. - - DK4_E_MEMORY_ALLOCATION_FAILED<br> - if the memory allocation failed, - - DK4_E_BUFFER_TOO_SMALL<br> - if the buffer is too small. -*/ -wchar_t * -dk4pathw_concatenate_new( - wchar_t const *dirn, - wchar_t const *filen, - dk4_er_t *erp -); - -#ifdef __cplusplus -} -#endif - - - - -#endif |