/* 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: dk4stat8.ctr */ /** @file dk4stat8.c The dk4stat8 module. */ #line 96 "dk4stat8.ctr" #include "dk4conf.h" #include "dk4stat8.h" #include "dk4mem.h" #if DK4_HAVE_ERRNO_H #ifndef ERRNO_H_INCLUDED #include #define ERRNO_H_INCLUDED 1 #endif #endif #if DK4_HAVE_UNISTD_H #ifndef UNISTD_H_INCLUDED #include #define UNISTD_H_INCLUDED 1 #endif #endif #if DK4_HAVE_IO_H #ifndef IO_H_INCLUDED #include #define IO_H_INCLUDED 1 #endif #endif #if DK4_HAVE_ASSERT_H #ifndef ASSERT_H_INCLUDED #include #define ASSERT_H_INCLUDED 1 #endif #endif #line 132 "dk4stat8.ctr" int dk4stat_c8(dk4_stat_t *dst, const char *path, dk4_er_t *erp) { int back = 0; #line 140 "dk4stat8.ctr" #if DK4_USE_ASSERT assert(NULL != dst); assert(NULL != path); #endif if ((NULL != dst) && (NULL != path)) { #line 145 "dk4stat8.ctr" errno = 0; #if DK4_ON_WINDOWS #line 148 "dk4stat8.ctr" if (0 == _stat64(path, dst)) #else #if DK4_HAVE_LARGEFILE64_SOURCE && DK4_HAVE_STAT64 #line 152 "dk4stat8.ctr" if (0 == stat64(path, dst)) #else #line 155 "dk4stat8.ctr" if (0 == stat(path, dst)) #endif #endif { #line 159 "dk4stat8.ctr" back = 1; } else { #line 163 "dk4stat8.ctr" dk4error_set_idetails(erp, DK4_E_SYSTEM, errno); } } else { #line 166 "dk4stat8.ctr" dk4error_set_simple_error_code(erp, DK4_E_INVALID_ARGUMENTS); } #line 169 "dk4stat8.ctr" return back; } int dk4stat_l_c8(dk4_stat_t *dst, const char *path, dk4_er_t *erp) { int back = 0; #if DK4_USE_ASSERT assert(NULL != dst); assert(NULL != path); #endif if ((NULL != dst) && (NULL != path)) { #if DK4_ON_WINDOWS dk4error_set_simple_error_code(erp, DK4_E_NOT_SUPPORTED); #else #if DK4_HAVE_LARGEFILE64_SOURCE && DK4_HAVE_STAT64 #if DK4_HAVE_LSTAT64 errno = 0; if (0 == lstat64(path, dst)) { back = 1; } else { dk4error_set_idetails(erp, DK4_E_SYSTEM, errno); } #else dk4error_set_simple_error_code(erp, DK4_E_NOT_SUPPORTED); #endif #else #if DK4_HAVE_LSTAT errno = 0; if (0 == lstat(path, dst)) { back = 1; } else { dk4error_set_idetails(erp, DK4_E_SYSTEM, errno); } #else dk4error_set_simple_error_code(erp, DK4_E_NOT_SUPPORTED); #endif #endif #endif } else { dk4error_set_simple_error_code(erp, DK4_E_INVALID_ARGUMENTS); } return back; }