summaryrefslogtreecommitdiff
path: root/support/dktools/dk4fileid.ctr
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2020-09-20 03:03:26 +0000
committerNorbert Preining <norbert@preining.info>2020-09-20 03:03:26 +0000
commit1f457376b478257b88d4a857f5ec1b6155442dd7 (patch)
tree2a06a60551dea362cf8cb0cb0ba66c78608717c4 /support/dktools/dk4fileid.ctr
parentac690ca29ad5bf8a5203a65fd6252f7b564f4727 (diff)
CTAN sync 202009200303
Diffstat (limited to 'support/dktools/dk4fileid.ctr')
-rw-r--r--support/dktools/dk4fileid.ctr62
1 files changed, 57 insertions, 5 deletions
diff --git a/support/dktools/dk4fileid.ctr b/support/dktools/dk4fileid.ctr
index 27aa6d3a07..34441a61b5 100644
--- a/support/dktools/dk4fileid.ctr
+++ b/support/dktools/dk4fileid.ctr
@@ -2,18 +2,66 @@
copyright owner = Dirk Krause
copyright year = 2015-xxxx
-license = bsd
+SPDX-License-Identifier: BSD-3-Clause
+
+
+%% header
+
+/** @file dk4fileid.h File information for files specified
+ by dkChar path name.
+*/
+
+#ifndef DK4FILEIT_H_INCLUDED
+#if DK4_BUILDING_DKTOOLS4
+#include "dk4fileit.h"
+#else
+#include <dktools-4/dk4fileit.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
+
+/** Retrieve full information for a path name.
+ For symbolic links attempt to retrieve information both
+ about the link and about the link target.
+ @param dptr Pointer to result structure.
+ @param fn File path name.
+ @param erp Error report, may be NULL.
+ @return 1 if information is found, 0 otherwise.
+ If information about the link is found and no information about
+ the target, the function returns 1 as we can recognize the
+ directory item as a dangling link (link with non-existing target).
+*/
+int
+dk4fileinfo(dk4_file_info_t *dptr, const dkChar *fn, dk4_er_t *erp);
+
+#ifdef __cplusplus
+}
+#endif
+
%% module
+#include "dk4conf.h"
#include "dk4filei.h"
-#if DK4_CHAR_SIZE > 1
-#include "dk4fileiw.h"
-#else
-#include "dk4filei8.h"
+#if DK4_HAVE_ASSERT_H
+#ifndef ASSERT_H_INCLUDED
+#include <assert.h>
+#define ASSERT_H_INCLUDED 1
+#endif
#endif
@@ -21,6 +69,10 @@ license = bsd
int
dk4fileinfo(dk4_file_info_t *dptr, const dkChar *fn, dk4_er_t *erp)
{
+#if DK4_USE_ASSERT
+ assert(NULL != dptr);
+ assert(NULL != fn);
+#endif
#if DK4_CHAR_SIZE > 1
return (dk4fileinfo_wc(dptr, fn, erp));
#else