summaryrefslogtreecommitdiff
path: root/support/dktools/dk4filei8.c
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2020-10-12 03:04:00 +0000
committerNorbert Preining <norbert@preining.info>2020-10-12 03:04:00 +0000
commit0ce40abb18ec02ec6fd6bcc5f21612c88daa7578 (patch)
tree416289fe1448873fd8ca33051f50ad85bffa8aaa /support/dktools/dk4filei8.c
parentfdb18507cd80dc17f5a5256153d34668b4f4e61c (diff)
CTAN sync 202010120303
Diffstat (limited to 'support/dktools/dk4filei8.c')
-rw-r--r--support/dktools/dk4filei8.c219
1 files changed, 0 insertions, 219 deletions
diff --git a/support/dktools/dk4filei8.c b/support/dktools/dk4filei8.c
deleted file mode 100644
index eab88ba0fb..0000000000
--- a/support/dktools/dk4filei8.c
+++ /dev/null
@@ -1,219 +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: dk4filei8.ctr
-*/
-
-/** @file dk4filei8.c The dk4filei8 module.
-*/
-
-
-#line 52 "dk4filei8.ctr"
-
-#include "dk4conf.h"
-#include "dk4filei.h"
-
-#ifndef DK4MEM_H_INCLUDED
-#include "dk4mem.h"
-#endif
-
-#ifndef DK4STAT8_H_INCLUDED
-#include "dk4stat8.h"
-#endif
-
-#ifndef DK4ERROR_H_INCLUDED
-#include "dk4error.h"
-#endif
-
-#if DK4_HAVE_ASSERT_H
-#ifndef ASSERT_H_INCLUDED
-#include <assert.h>
-#define ASSERT_H_INCLUDED 1
-#endif
-#endif
-
-
-
-int
-dk4fileinfo_c8(dk4_file_info_t *dptr, const char *fn, dk4_er_t *erp)
-{
- dk4_er_t er;
-#if DK4_ON_WINDOWS
- WIN32_FIND_DATAA ffdata;
- HANDLE ha;
- DWORD dwatt;
- int i;
- int found;
- int isdir;
-#endif
- int back = 0;
-#if DK4_USE_ASSERT
- assert(NULL != dptr);
- assert(NULL != fn);
-#endif
- if ((NULL != dptr) && (NULL != fn)) {
- dk4error_init(&er);
- DK4_MEMRES(dptr, sizeof(dk4_file_info_t));
- dptr->contents = 0;
-#if DK4_ON_WINDOWS
- dptr->rppnt = (DWORD)0UL;
- dptr->fattr = GetFileAttributesA(fn);
- dptr->resio = 0UL;
- if (INVALID_FILE_ATTRIBUTES == dptr->fattr) {
- ha = FindFirstFileA(fn, &ffdata);
- if (INVALID_HANDLE_VALUE != ha) {
- dptr->fattr = ffdata.dwFileAttributes;
- FindClose(ha);
- }
- }
- if (INVALID_FILE_ATTRIBUTES != dptr->fattr) {
- isdir = 0;
- if (0 != (FILE_ATTRIBUTE_DIRECTORY & (dptr->fattr))) { isdir = 1; }
- /* Symlink */
- found = 0;
- for (i = 0; ((3 > i) && (0 == found)); i++) {
- dwatt = dptr->fattr;
- dwatt |= FILE_FLAG_OPEN_REPARSE_POINT;
- if (0 != isdir) { dwatt |= FILE_FLAG_BACKUP_SEMANTICS; }
- ha = CreateFileA(
- fn,
- (
- (0 == i)
- ? (0) : ((1 == i) ? (FILE_READ_ATTRIBUTES) : (GENERIC_READ))
- ),
- (FILE_SHARE_READ | FILE_SHARE_WRITE),
- NULL,
- OPEN_EXISTING,
- dwatt,
- NULL
- );
- if (INVALID_HANDLE_VALUE != ha) {
- if (GetFileInformationByHandle(ha, &(dptr->linfo))) {
- found = 1;
- back = 1;
- dptr->contents |= DK4_FILE_INFO_CONTENTS_DATA_LINK;
- } else {
- if (1 == i) {
- dk4error_set_ldetails(
- &er, DK4_E_FILE_INFORMATION_FAILED,
- (long)((unsigned long)GetLastError())
- );
- }
- }
- CloseHandle(ha);
- } else {
- if (1 == i) {
- dk4error_set_ldetails(
- &er, DK4_E_CREATE_FILE_FAILED,
- (long)((unsigned long)GetLastError())
- );
- }
- }
- }
- /* Target */
- found = 0;
- for (i = 0; ((3 > i) && (0 == found)); i++) {
- dwatt = dptr->fattr;
- if (0 != isdir) { dwatt |= FILE_FLAG_BACKUP_SEMANTICS; }
- ha = CreateFileA(
- fn,
- (
- (0 == i)
- ? (0)
- : ((1 == i) ? (FILE_READ_ATTRIBUTES) : (GENERIC_READ))
- ),
- (FILE_SHARE_READ | FILE_SHARE_WRITE),
- NULL,
- OPEN_EXISTING,
- dwatt,
- NULL
- );
- if (INVALID_HANDLE_VALUE != ha) {
- if (GetFileInformationByHandle(ha, &(dptr->tinfo))) {
- found = 1;
- back = 1;
- dptr->contents |= DK4_FILE_INFO_CONTENTS_DATA_TARGET;
- } else {
- if (1 == i) {
- dk4error_set_ldetails(
- &er, DK4_E_FILE_INFORMATION_FAILED,
- (long)((unsigned long)GetLastError())
- );
- }
- }
- CloseHandle(ha);
- } else {
- if (1 == i) {
- dk4error_set_ldetails(
- &er, DK4_E_CREATE_FILE_FAILED,
- (long)((unsigned long)GetLastError())
- );
- }
- }
- }
- /* FindFirstFile */
- if (0 != back) {
- ha = FindFirstFileA(fn, &ffdata);
- if (INVALID_HANDLE_VALUE != ha) {
- back = 1;
- dptr->fattr = ffdata.dwFileAttributes;
- dptr->rppnt = ffdata.dwReserved0;
- FindClose(ha);
- }
- } else {
- ha = FindFirstFileA(fn, &ffdata);
- if (INVALID_HANDLE_VALUE != ha) {
- back = 1;
- dptr->fattr = ffdata.dwFileAttributes;
- dptr->rppnt = ffdata.dwReserved0;
- dptr->resio = 1UL;
- (dptr->linfo).dwFileAttributes = ffdata.dwFileAttributes;
- (dptr->linfo).ftCreationTime = ffdata.ftCreationTime;
- (dptr->linfo).ftLastAccessTime = ffdata.ftLastAccessTime;
- (dptr->linfo).ftLastWriteTime = ffdata.ftLastWriteTime;
- (dptr->linfo).nFileSizeHigh = ffdata.nFileSizeHigh;
- (dptr->linfo).nFileSizeLow = ffdata.nFileSizeLow;
- (dptr->tinfo).dwFileAttributes = ffdata.dwFileAttributes;
- (dptr->tinfo).ftCreationTime = ffdata.ftCreationTime;
- (dptr->tinfo).ftLastAccessTime = ffdata.ftLastAccessTime;
- (dptr->tinfo).ftLastWriteTime = ffdata.ftLastWriteTime;
- (dptr->tinfo).nFileSizeHigh = ffdata.nFileSizeHigh;
- (dptr->tinfo).nFileSizeLow = ffdata.nFileSizeLow;
- dptr->contents |= DK4_FILE_INFO_CONTENTS_DATA_TARGET;
- dptr->contents |= DK4_FILE_INFO_CONTENTS_DATA_LINK;
- FindClose(ha);
- }
- }
- } else {
- dk4error_set_ldetails(
- &er, DK4_E_SYSTEM,
- (long)((unsigned long)GetLastError())
- );
- }
-#else
- if (0 != dk4stat_l_c8(&(dptr->lstb), fn, &er)) {
- back = 1;
- dptr->contents |= DK4_FILE_INFO_CONTENTS_DATA_LINK;
- }
- if (0 != dk4stat_c8(&(dptr->tstb), fn, &er)) {
- back = 1;
- dptr->contents |= DK4_FILE_INFO_CONTENTS_DATA_TARGET;
- }
-#endif
- if (0 == back) {
- dk4error_copy(erp, &er);
- }
- } else {
- dk4error_set_simple_error_code(erp, DK4_E_INVALID_ARGUMENTS);
- }
- return back;
-}
-
-