fixed typos
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
2024-05-02 22:47:30 +09:00
parent e28faca54e
commit 35e8edd783
92 changed files with 3380 additions and 3380 deletions

172
lib/fio.c
View File

@ -173,14 +173,14 @@ int hawk_fio_init (hawk_fio_t* fio, hawk_gem_t* gem, const hawk_ooch_t* path, in
if (!(flags & (HAWK_FIO_READ | HAWK_FIO_WRITE | HAWK_FIO_APPEND | HAWK_FIO_HANDLE)))
{
/* one of HAWK_FIO_READ, HAWK_FIO_WRITE, HAWK_FIO_APPEND,
/* one of HAWK_FIO_READ, HAWK_FIO_WRITE, HAWK_FIO_APPEND,
* and HAWK_FIO_HANDLE must be specified */
hawk_gem_seterrnum (fio->gem, HAWK_NULL, HAWK_EINVAL);
return -1;
}
/* Store some flags for later use */
if (flags & HAWK_FIO_NOCLOSE)
if (flags & HAWK_FIO_NOCLOSE)
fio->status |= STATUS_NOCLOSE;
if (flags & HAWK_FIO_TEMPORARY)
@ -190,7 +190,7 @@ int hawk_fio_init (hawk_fio_t* fio, hawk_gem_t* gem, const hawk_ooch_t* path, in
/*if (flags & (HAWK_FIO_HANDLE | HAWK_FIO_BCSTRPATH))*/
if (flags & HAWK_FIO_HANDLE)
{
/* HAWK_FIO_TEMPORARY and HAWK_FIO_HANDLE/HAWK_FIO_BCSTRPATH
/* HAWK_FIO_TEMPORARY and HAWK_FIO_HANDLE/HAWK_FIO_BCSTRPATH
* are mutually exclusive */
hawk_gem_seterrnum (fio->gem, HAWK_NULL, HAWK_EINVAL);
return -1;
@ -201,13 +201,13 @@ int hawk_fio_init (hawk_fio_t* fio, hawk_gem_t* gem, const hawk_ooch_t* path, in
if (flags & HAWK_FIO_BCSTRPATH)
{
for (temp_ptr_b = (hawk_bch_t*)path; *temp_ptr_b; temp_ptr_b++)
for (temp_ptr_b = (hawk_bch_t*)path; *temp_ptr_b; temp_ptr_b++)
temp_no += *temp_ptr_b;
if (temp_ptr_b - (hawk_bch_t*)path < 4)
{
hawk_gem_seterrnum (fio->gem, HAWK_NULL, HAWK_EINVAL);
return -1;
return -1;
}
temp_ptr_b -= 4;
@ -215,15 +215,15 @@ int hawk_fio_init (hawk_fio_t* fio, hawk_gem_t* gem, const hawk_ooch_t* path, in
else
{
/* if HAWK_FIO_TEMPORARY is used, the path name must be writable. */
for (temp_ptr = (hawk_ooch_t*)path; *temp_ptr; temp_ptr++)
for (temp_ptr = (hawk_ooch_t*)path; *temp_ptr; temp_ptr++)
temp_no += *temp_ptr;
/* The path name template must be at least 4 characters long
* excluding the terminating null. this function fails if not */
if (temp_ptr - path < 4)
if (temp_ptr - path < 4)
{
hawk_gem_seterrnum (fio->gem, HAWK_NULL, HAWK_EINVAL);
return -1;
return -1;
}
temp_ptr -= 4;
@ -238,17 +238,17 @@ int hawk_fio_init (hawk_fio_t* fio, hawk_gem_t* gem, const hawk_ooch_t* path, in
temp_tries++;
/* Fails after 5000 tries. 5000 randomly chosen */
if (temp_tries > 5000)
if (temp_tries > 5000)
{
hawk_gem_seterrnum (fio->gem, HAWK_NULL, HAWK_EINVAL);
return -1;
return -1;
}
/* Generate the next random number to use to make a
/* Generate the next random number to use to make a
* new path name */
temp_no = hawk_rand31(temp_no);
/*
/*
* You must not pass a constant string for a path name
* when HAWK_FIO_TEMPORARY is set, because it changes
* the path name with a random number generated
@ -257,8 +257,8 @@ int hawk_fio_init (hawk_fio_t* fio, hawk_gem_t* gem, const hawk_ooch_t* path, in
{
hawk_fmt_uintmax_to_bcstr (
temp_ptr_b,
4,
temp_no % 0x10000,
4,
temp_no % 0x10000,
16 | HAWK_FMT_UINTMAX_NOTRUNC | HAWK_FMT_UINTMAX_NONULL,
4,
'\0',
@ -269,8 +269,8 @@ int hawk_fio_init (hawk_fio_t* fio, hawk_gem_t* gem, const hawk_ooch_t* path, in
{
hawk_fmt_uintmax_to_oocstr (
temp_ptr,
4,
temp_no % 0x10000,
4,
temp_no % 0x10000,
16 | HAWK_FMT_UINTMAX_NOTRUNC | HAWK_FMT_UINTMAX_NONULL,
4,
HAWK_T('\0'),
@ -278,7 +278,7 @@ int hawk_fio_init (hawk_fio_t* fio, hawk_gem_t* gem, const hawk_ooch_t* path, in
);
}
}
#if defined(_WIN32)
if (flags & HAWK_FIO_HANDLE)
{
@ -339,9 +339,9 @@ int hawk_fio_init (hawk_fio_t* fio, hawk_gem_t* gem, const hawk_ooch_t* path, in
if (flags & HAWK_FIO_NOSHDELETE)
share_mode &= ~FILE_SHARE_DELETE;
if (!(mode & HAWK_FIO_WUSR))
if (!(mode & HAWK_FIO_WUSR))
flag_and_attr = FILE_ATTRIBUTE_READONLY;
if (flags & HAWK_FIO_SYNC)
if (flags & HAWK_FIO_SYNC)
flag_and_attr |= FILE_FLAG_WRITE_THROUGH;
#if defined(FILE_FLAG_OPEN_REPARSE_POINT)
@ -350,15 +350,15 @@ int hawk_fio_init (hawk_fio_t* fio, hawk_gem_t* gem, const hawk_ooch_t* path, in
#endif
/* these two are just hints to OS */
if (flags & HAWK_FIO_RANDOM)
if (flags & HAWK_FIO_RANDOM)
flag_and_attr |= FILE_FLAG_RANDOM_ACCESS;
if (flags & HAWK_FIO_SEQUENTIAL)
if (flags & HAWK_FIO_SEQUENTIAL)
flag_and_attr |= FILE_FLAG_SEQUENTIAL_SCAN;
if (flags & HAWK_FIO_BCSTRPATH)
{
handle = CreateFileA(
(const hawk_bch_t*)path, desired_access, share_mode,
(const hawk_bch_t*)path, desired_access, share_mode,
HAWK_NULL, /* set noinherit by setting no secattr */
creation_disposition, flag_and_attr, 0
);
@ -366,15 +366,15 @@ int hawk_fio_init (hawk_fio_t* fio, hawk_gem_t* gem, const hawk_ooch_t* path, in
else
{
handle = CreateFile(
path, desired_access, share_mode,
path, desired_access, share_mode,
HAWK_NULL, /* set noinherit by setting no secattr */
creation_disposition, flag_and_attr, 0
);
}
if (handle == INVALID_HANDLE_VALUE)
if (handle == INVALID_HANDLE_VALUE)
{
DWORD e = GetLastError();
if (!fellback && e == ERROR_INVALID_PARAMETER &&
if (!fellback && e == ERROR_INVALID_PARAMETER &&
((share_mode & FILE_SHARE_DELETE) || (flags & HAWK_FIO_APPEND)))
{
/* old windows fails with ERROR_INVALID_PARAMETER
@ -389,11 +389,11 @@ int hawk_fio_init (hawk_fio_t* fio, hawk_gem_t* gem, const hawk_ooch_t* path, in
desired_access &= ~FILE_APPEND_DATA;
desired_access |= GENERIC_WRITE;
}
if (flags & HAWK_FIO_BCSTRPATH)
{
handle = CreateFileA(
(const hawk_bch_t*)path, desired_access, share_mode,
(const hawk_bch_t*)path, desired_access, share_mode,
HAWK_NULL, /* set noinherit by setting no secattr */
creation_disposition, flag_and_attr, 0
);
@ -401,12 +401,12 @@ int hawk_fio_init (hawk_fio_t* fio, hawk_gem_t* gem, const hawk_ooch_t* path, in
else
{
handle = CreateFile(
path, desired_access, share_mode,
path, desired_access, share_mode,
HAWK_NULL, /* set noinherit by setting no secattr */
creation_disposition, flag_and_attr, 0
);
}
if (handle == INVALID_HANDLE_VALUE)
if (handle == INVALID_HANDLE_VALUE)
{
i if (flags & HAWK_FIO_TEMPORARY) goto retry_temporary;
hawk_gem_seterrnum (fio->gem, HAWK_NULL, hawk_syserr_to_errnum(GetLastError()));
@ -470,7 +470,7 @@ int hawk_fio_init (hawk_fio_t* fio, hawk_gem_t* gem, const hawk_ooch_t* path, in
path_mb = hawk_gem_duputobcstr(fio->gem, path, HAWK_NUL);
if (path_mb == HAWK_NULL) return -1;
}
else if (px <= -1)
else if (px <= -1)
{
return -1;
}
@ -498,7 +498,7 @@ int hawk_fio_init (hawk_fio_t* fio, hawk_gem_t* gem, const hawk_ooch_t* path, in
{
open_action = OPEN_ACTION_REPLACE_IF_EXISTS | OPEN_ACTION_FAIL_IF_NEW;
}
else
else
{
open_action = OPEN_ACTION_OPEN_IF_EXISTS | OPEN_ACTION_FAIL_IF_NEW;
}
@ -517,7 +517,7 @@ int hawk_fio_init (hawk_fio_t* fio, hawk_gem_t* gem, const hawk_ooch_t* path, in
else if (flags & HAWK_FIO_WRITE) open_mode |= OPEN_ACCESS_WRITEONLY;
open_attr = (mode & HAWK_FIO_WUSR)? FILE_NORMAL: FILE_READONLY;
#if defined(FIL_STANDARDL)
if (dos_open_l)
{
@ -533,7 +533,7 @@ int hawk_fio_init (hawk_fio_t* fio, hawk_gem_t* gem, const hawk_ooch_t* path, in
open_attr, /* attribute */
open_action, /* action if it exists */
open_mode, /* open mode */
0L
0L
);
}
else
@ -547,7 +547,7 @@ int hawk_fio_init (hawk_fio_t* fio, hawk_gem_t* gem, const hawk_ooch_t* path, in
open_attr, /* attribute */
open_action, /* action if it exists */
open_mode, /* open mode */
0L
0L
);
#if defined(FIL_STANDARDL)
}
@ -559,7 +559,7 @@ int hawk_fio_init (hawk_fio_t* fio, hawk_gem_t* gem, const hawk_ooch_t* path, in
if (path_mb != path_mb_buf) hawk_gem_freemem (fio->gem, path_mb);
#endif
if (ret != NO_ERROR)
if (ret != NO_ERROR)
{
if (flags & HAWK_FIO_TEMPORARY) goto retry_temporary;
hawk_gem_seterrnum (fio->gem, HAWK_NULL, hawk_syserr_to_errnum(ret));
@ -599,12 +599,12 @@ int hawk_fio_init (hawk_fio_t* fio, hawk_gem_t* gem, const hawk_ooch_t* path, in
px = hawk_gem_convutobcstr(fio->gem, path, &wl, path_mb, &ml);
if (px == -2)
{
/* static buffer size not enough.
/* static buffer size not enough.
* switch to dynamic allocation */
path_mb = hawk_gem_duputobcstr(fio->gem, path, HAWK_NULL);
if (path_mb == HAWK_NULL) return -1;
}
else if (px <= -1)
else if (px <= -1)
{
return -1;
}
@ -630,7 +630,7 @@ int hawk_fio_init (hawk_fio_t* fio, hawk_gem_t* gem, const hawk_ooch_t* path, in
if (flags & HAWK_FIO_EXCLUSIVE) oflags |= O_EXCL;
oflags |= O_BINARY | O_NOINHERIT;
if (mode & HAWK_FIO_RUSR) permission |= S_IREAD;
if (mode & HAWK_FIO_WUSR) permission |= S_IWRITE;
@ -646,7 +646,7 @@ int hawk_fio_init (hawk_fio_t* fio, hawk_gem_t* gem, const hawk_ooch_t* path, in
if (path_mb != path_mb_buf) hawk_gem_freemem (fio->gem, path_mb);
#endif
if (handle <= -1)
if (handle <= -1)
{
if (flags & HAWK_FIO_TEMPORARY) goto retry_temporary;
hawk_gem_seterrnum (fio->gem, HAWK_NULL, hawk_syserr_to_errnum(errno));
@ -667,7 +667,7 @@ int hawk_fio_init (hawk_fio_t* fio, hawk_gem_t* gem, const hawk_ooch_t* path, in
struct FAB* fab;
struct RAB* rab;
unsigned long r0;
#if defined(HAWK_OOCH_IS_BCH)
const hawk_bch_t* path_mb = path;
#else
@ -692,7 +692,7 @@ int hawk_fio_init (hawk_fio_t* fio, hawk_gem_t* gem, const hawk_ooch_t* path, in
path_mb = hawk_duputobcstr(fio->gem, path, mmgr);
if (path_mb == HAWK_NULL) return -1;
}
else if (px <= -1)
else if (px <= -1)
{
return -1;
}
@ -724,16 +724,16 @@ int hawk_fio_init (hawk_fio_t* fio, hawk_gem_t* gem, const hawk_ooch_t* path, in
fab->fab$b_fac = FAB$M_NIL;
if (flags & HAWK_FIO_READ) fab->fab$b_fac |= FAB$M_GET;
if (flags & (HAWK_FIO_WRITE | HAWK_FIO_APPEND)) fab->fab$b_fac |= FAB$M_PUT | FAB$M_TRN; /* put, truncate */
fab->fab$b_shr |= FAB$M_SHRPUT | FAB$M_SHRGET; /* FAB$M_NIL */
if (flags & HAWK_FIO_NOSHREAD) fab->fab$b_shr &= ~FAB$M_SHRGET;
if (flags & HAWK_FIO_NOSHWRITE) fab->fab$b_shr &= ~FAB$M_SHRPUT;
if (flags & HAWK_FIO_APPEND) rab->rab$l_rop |= RAB$M_EOF;
if (flags & HAWK_FIO_CREATE)
if (flags & HAWK_FIO_CREATE)
{
if (flags & HAWK_FIO_EXCLUSIVE)
if (flags & HAWK_FIO_EXCLUSIVE)
fab->fab$l_fop &= ~FAB$M_CIF;
else
fab->fab$l_fop |= FAB$M_CIF;
@ -814,7 +814,7 @@ int hawk_fio_init (hawk_fio_t* fio, hawk_gem_t* gem, const hawk_ooch_t* path, in
path_mb = hawk_gem_duputobcstr(fio->gem, path, HAWK_NULL);
if (path_mb == HAWK_NULL) return -1;
}
else if (px <= -1)
else if (px <= -1)
{
hawk_gem_seterrnum (fio->gem, HAWK_NULL, HAWK_EINVAL);
return -1;
@ -864,12 +864,12 @@ int hawk_fio_init (hawk_fio_t* fio, hawk_gem_t* gem, const hawk_ooch_t* path, in
#if defined(HAWK_OOCH_IS_BCH)
/* nothing to do */
#else
if (path_mb != path_mb_buf && path_mb != (hawk_bch_t*)path)
if (path_mb != path_mb_buf && path_mb != (hawk_bch_t*)path)
{
hawk_gem_freemem (fio->gem, path_mb);
}
#endif
if (handle == -1)
if (handle == -1)
{
if (flags & HAWK_FIO_TEMPORARY) goto retry_temporary;
hawk_gem_seterrnum (fio->gem, HAWK_NULL, hawk_syserr_to_errnum(errno));
@ -885,11 +885,11 @@ int hawk_fio_init (hawk_fio_t* fio, hawk_gem_t* gem, const hawk_ooch_t* path, in
/* set some file access hints */
#if defined(POSIX_FADV_RANDOM)
if (flags & HAWK_FIO_RANDOM)
if (flags & HAWK_FIO_RANDOM)
posix_fadvise (handle, 0, 0, POSIX_FADV_RANDOM);
#endif
#if defined(POSIX_FADV_SEQUENTIAL)
if (flags & HAWK_FIO_SEQUENTIAL)
if (flags & HAWK_FIO_SEQUENTIAL)
posix_fadvise (handle, 0, 0, POSIX_FADV_SEQUENTIAL);
#endif
}
@ -986,7 +986,7 @@ hawk_fio_off_t hawk_fio_seek (hawk_fio_t* fio, hawk_fio_off_t offset, hawk_fio_o
pos.ulHi = (ULONG)(offset>>32);
ret = dos_set_file_ptr_l (fio->handle, pos, seek_map[origin], &newpos);
if (ret != NO_ERROR)
if (ret != NO_ERROR)
{
hawk_gem_seterrnum (fio->gem, HAWK_NULL, hawk_syserr_to_errnum(ret));
return (hawk_fio_off_t)-1;
@ -1001,7 +1001,7 @@ hawk_fio_off_t hawk_fio_seek (hawk_fio_t* fio, hawk_fio_off_t offset, hawk_fio_o
APIRET ret;
ret = DosSetFilePtr (fio->handle, offset, seek_map[origin], &newpos);
if (ret != NO_ERROR)
if (ret != NO_ERROR)
{
hawk_gem_seterrnum (fio->gem, HAWK_NULL, hawk_syserr_to_errnum(ret));
return (hawk_fio_off_t)-1;
@ -1015,7 +1015,7 @@ hawk_fio_off_t hawk_fio_seek (hawk_fio_t* fio, hawk_fio_off_t offset, hawk_fio_o
#elif defined(__DOS__)
static int seek_map[] =
{
SEEK_SET,
SEEK_SET,
SEEK_CUR,
SEEK_END
};
@ -1029,7 +1029,7 @@ hawk_fio_off_t hawk_fio_seek (hawk_fio_t* fio, hawk_fio_off_t offset, hawk_fio_o
#else
static int seek_map[] =
{
SEEK_SET,
SEEK_SET,
SEEK_CUR,
SEEK_END
};
@ -1059,7 +1059,7 @@ int hawk_fio_truncate (hawk_fio_t* fio, hawk_fio_off_t size)
{
#if defined(_WIN32)
if (hawk_fio_seek (fio, size, HAWK_FIO_BEGIN) == (hawk_fio_off_t)-1) return -1;
if (SetEndOfFile(fio->handle) == FALSE)
if (SetEndOfFile(fio->handle) == FALSE)
{
hawk_gem_seterrnum (fio->gem, HAWK_NULL, hawk_syserr_to_errnum(GetLastError()));
return -1;
@ -1106,7 +1106,7 @@ int hawk_fio_truncate (hawk_fio_t* fio, hawk_fio_off_t size)
unsigned long r0;
struct RAB* rab = (struct RAB*)fio->handle;
if ((r0 = sys$rewind (rab, 0, 0)) != RMS$_NORMAL ||
(r0 = sys$truncate (rab, 0, 0)) != RMS$_NORMAL)
{
@ -1135,14 +1135,14 @@ hawk_ooi_t hawk_fio_read (hawk_fio_t* fio, void* buf, hawk_oow_t size)
DWORD count;
if (size > (HAWK_TYPE_MAX(hawk_ooi_t) & HAWK_TYPE_MAX(DWORD)))
if (size > (HAWK_TYPE_MAX(hawk_ooi_t) & HAWK_TYPE_MAX(DWORD)))
size = HAWK_TYPE_MAX(hawk_ooi_t) & HAWK_TYPE_MAX(DWORD);
if (ReadFile (fio->handle, buf, (DWORD)size, &count, HAWK_NULL) == FALSE)
{
DWORD e = GetLastError();
/* special case when ReadFile returns failure with ERROR_BROKEN_PIPE.
* this happens when an anonymous pipe is a standard input for redirection.
* assuming that ERROR_BROKEN_PIPE doesn't occur with normal
* assuming that ERROR_BROKEN_PIPE doesn't occur with normal
* input streams, i treat the condition as a normal EOF indicator. */
if ((fio->status & STATUS_WIN32_STDIN) && e == ERROR_BROKEN_PIPE) return 0;
hawk_gem_seterrnum (fio->gem, HAWK_NULL, hawk_syserr_to_errnum(e));
@ -1154,10 +1154,10 @@ hawk_ooi_t hawk_fio_read (hawk_fio_t* fio, void* buf, hawk_oow_t size)
APIRET ret;
ULONG count;
if (size > (HAWK_TYPE_MAX(hawk_ooi_t) & HAWK_TYPE_MAX(ULONG)))
if (size > (HAWK_TYPE_MAX(hawk_ooi_t) & HAWK_TYPE_MAX(ULONG)))
size = HAWK_TYPE_MAX(hawk_ooi_t) & HAWK_TYPE_MAX(ULONG);
ret = DosRead (fio->handle, buf, (ULONG)size, &count);
if (ret != NO_ERROR)
if (ret != NO_ERROR)
{
hawk_gem_seterrnum (fio->gem, HAWK_NULL, hawk_syserr_to_errnum(ret));
return -1;
@ -1167,7 +1167,7 @@ hawk_ooi_t hawk_fio_read (hawk_fio_t* fio, void* buf, hawk_oow_t size)
#elif defined(__DOS__)
int n;
if (size > (HAWK_TYPE_MAX(hawk_ooi_t) & HAWK_TYPE_MAX(unsigned int)))
if (size > (HAWK_TYPE_MAX(hawk_ooi_t) & HAWK_TYPE_MAX(unsigned int)))
size = HAWK_TYPE_MAX(hawk_ooi_t) & HAWK_TYPE_MAX(unsigned int);
n = read (fio->handle, buf, size);
if (n <= -1) hawk_gem_seterrnum (fio->gem, HAWK_NULL, hawk_syserr_to_errnum(errno));
@ -1220,9 +1220,9 @@ hawk_ooi_t hawk_fio_write (hawk_fio_t* fio, const void* data, hawk_oow_t size)
#endif
}
if (size > (HAWK_TYPE_MAX(hawk_ooi_t) & HAWK_TYPE_MAX(DWORD)))
if (size > (HAWK_TYPE_MAX(hawk_ooi_t) & HAWK_TYPE_MAX(DWORD)))
size = HAWK_TYPE_MAX(hawk_ooi_t) & HAWK_TYPE_MAX(DWORD);
if (WriteFile (fio->handle, data, (DWORD)size, &count, HAWK_NULL) == FALSE)
if (WriteFile (fio->handle, data, (DWORD)size, &count, HAWK_NULL) == FALSE)
{
hawk_gem_seterrnum (fio->gem, HAWK_NULL, hawk_syserr_to_errnum(GetLastError()));
return -1;
@ -1255,11 +1255,11 @@ hawk_ooi_t hawk_fio_write (hawk_fio_t* fio, const void* data, hawk_oow_t size)
#endif
}
if (size > (HAWK_TYPE_MAX(hawk_ooi_t) & HAWK_TYPE_MAX(ULONG)))
if (size > (HAWK_TYPE_MAX(hawk_ooi_t) & HAWK_TYPE_MAX(ULONG)))
size = HAWK_TYPE_MAX(hawk_ooi_t) & HAWK_TYPE_MAX(ULONG);
ret = DosWrite(fio->handle,
ret = DosWrite(fio->handle,
(PVOID)data, (ULONG)size, &count);
if (ret != NO_ERROR)
if (ret != NO_ERROR)
{
hawk_gem_seterrnum (fio->gem, HAWK_NULL, hawk_syserr_to_errnum(ret));
return -1;
@ -1269,7 +1269,7 @@ hawk_ooi_t hawk_fio_write (hawk_fio_t* fio, const void* data, hawk_oow_t size)
#elif defined(__DOS__)
int n;
if (size > (HAWK_TYPE_MAX(hawk_ooi_t) & HAWK_TYPE_MAX(unsigned int)))
if (size > (HAWK_TYPE_MAX(hawk_ooi_t) & HAWK_TYPE_MAX(unsigned int)))
size = HAWK_TYPE_MAX(hawk_ooi_t) & HAWK_TYPE_MAX(unsigned int);
n = write (fio->handle, data, size);
if (n <= -1) hawk_gem_seterrnum (fio->gem, HAWK_NULL, hawk_syserr_to_errnum(errno));
@ -1307,7 +1307,7 @@ hawk_ooi_t hawk_fio_write (hawk_fio_t* fio, const void* data, hawk_oow_t size)
#if defined(_WIN32)
static int get_devname_from_handle (
hawk_fio_t* fio, hawk_ooch_t* buf, hawk_oow_t len)
hawk_fio_t* fio, hawk_ooch_t* buf, hawk_oow_t len)
{
HANDLE map = NULL;
void* mem = NULL;
@ -1315,10 +1315,10 @@ static int get_devname_from_handle (
HINSTANCE psapi;
getmappedfilename_t getmappedfilename;
/* try to load psapi.dll dynamially for
/* try to load psapi.dll dynamially for
* systems without it. direct linking to the library
* may end up with dependency failure on such systems.
* this way, the worst case is that this function simply
* may end up with dependency failure on such systems.
* this way, the worst case is that this function simply
* fails. */
psapi = LoadLibrary (HAWK_T("PSAPI.DLL"));
if (!psapi)
@ -1327,7 +1327,7 @@ static int get_devname_from_handle (
return -1;
}
getmappedfilename = (getmappedfilename_t)
getmappedfilename = (getmappedfilename_t)
GetProcAddress (psapi, HAWK_BT("GetMappedFileName"));
if (!getmappedfilename)
{
@ -1338,19 +1338,19 @@ static int get_devname_from_handle (
/* create a file mapping object */
map = CreateFileMapping (
fio->handle,
fio->handle,
NULL,
PAGE_READONLY,
0,
0,
1,
NULL
);
if (map == NULL)
if (map == NULL)
{
hawk_gem_seterrnum (fio->gem, HAWK_NULL, hawk_syserr_to_errnum(GetLastError()));
FreeLibrary (psapi);
return -1;
}
}
/* create a file mapping to get the file name. */
mem = MapViewOfFile (map, FILE_MAP_READ, 0, 0, 1);
@ -1362,7 +1362,7 @@ static int get_devname_from_handle (
return -1;
}
olen = getmappedfilename (GetCurrentProcess(), mem, buf, len);
olen = getmappedfilename (GetCurrentProcess(), mem, buf, len);
if (olen == 0)
{
hawk_gem_seterrnum (fio->gem, HAWK_NULL, hawk_syserr_to_errnum(GetLastError()));
@ -1378,7 +1378,7 @@ static int get_devname_from_handle (
return 0;
}
static int get_volname_from_handle (hawk_fio_t* fio, hawk_ooch_t* buf, hawk_oow_t len)
static int get_volname_from_handle (hawk_fio_t* fio, hawk_ooch_t* buf, hawk_oow_t len)
{
if (get_devname_from_handle (fio, buf, len) == -1) return -1;
@ -1394,8 +1394,8 @@ static int get_volname_from_handle (hawk_fio_t* fio, hawk_ooch_t* buf, hawk_oow_
n = GetLogicalDriveStrings(HAWK_COUNTOF(drives), drives);
if (n == 0 /* error */ ||
n > HAWK_COUNTOF(drives) /* buffer small */)
if (n == 0 /* error */ ||
n > HAWK_COUNTOF(drives) /* buffer small */)
{
hawk_gem_seterrnum (fio->gem, HAWK_NULL, hawk_syserr_to_errnum(GetLastError()));
return -1;
@ -1424,7 +1424,7 @@ static int get_volname_from_handle (hawk_fio_t* fio, hawk_ooch_t* buf, hawk_oow_
}
}
}
/* if the match is not found, the device name is returned
* without translation */
return 0;
@ -1439,8 +1439,8 @@ int hawk_fio_chmod (hawk_fio_t* fio, int mode)
hawk_ooch_t name[MAX_PATH];
/* it is a best effort implementation. if the file size is 0,
* it can't even get the file name from the handle and thus fails.
* if GENERIC_READ is not set in CreateFile, CreateFileMapping fails.
* it can't even get the file name from the handle and thus fails.
* if GENERIC_READ is not set in CreateFile, CreateFileMapping fails.
* so if this fio is opened without HAWK_FIO_READ, this function fails.
*/
if (get_volname_from_handle (fio, name, HAWK_COUNTOF(name)) == -1) return -1;
@ -1476,7 +1476,7 @@ int hawk_fio_chmod (hawk_fio_t* fio, int mode)
}
if (!(mode & HAWK_FIO_WUSR)) flags = FILE_READONLY;
stat.attrFile = flags;
#if defined(FIL_STANDARDL)
n = DosSetFileInfo(fio->handle, FIL_STANDARDL, &stat, size);
@ -1537,7 +1537,7 @@ int hawk_fio_sync (hawk_fio_t* fio)
#elif defined(__OS2__)
APIRET n;
n = DosResetBuffer (fio->handle);
n = DosResetBuffer (fio->handle);
if (n != NO_ERROR)
{
hawk_gem_seterrnum (fio->gem, HAWK_NULL, hawk_syserr_to_errnum(n));
@ -1572,7 +1572,7 @@ int hawk_fio_sync (hawk_fio_t* fio)
int hawk_fio_lock (hawk_fio_t* fio, hawk_fio_lck_t* lck, int flags)
{
/* TODO: hawk_fio_lock
/* TODO: hawk_fio_lock
* struct flock fl;
* fl.l_type = F_RDLCK, F_WRLCK;
* HAWK_FCNTL (fio->handle, F_SETLK, &fl);
@ -1583,7 +1583,7 @@ int hawk_fio_lock (hawk_fio_t* fio, hawk_fio_lck_t* lck, int flags)
int hawk_fio_unlock (hawk_fio_t* fio, hawk_fio_lck_t* lck, int flags)
{
/* TODO: hawk_fio_unlock
/* TODO: hawk_fio_unlock
* struct flock fl;
* fl.l_type = F_UNLCK;
* HAWK_FCNTL (fio->handle, F_SETLK, &fl);