summaryrefslogtreecommitdiff
path: root/support/dktools/dk4svbuf.ctr
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/dk4svbuf.ctr
parentfdb18507cd80dc17f5a5256153d34668b4f4e61c (diff)
CTAN sync 202010120303
Diffstat (limited to 'support/dktools/dk4svbuf.ctr')
-rw-r--r--support/dktools/dk4svbuf.ctr162
1 files changed, 0 insertions, 162 deletions
diff --git a/support/dktools/dk4svbuf.ctr b/support/dktools/dk4svbuf.ctr
deleted file mode 100644
index 7abd3768fd..0000000000
--- a/support/dktools/dk4svbuf.ctr
+++ /dev/null
@@ -1,162 +0,0 @@
-%% options
-
-copyright owner = Dirk Krause
-copyright year = 2016-xxxx
-SPDX-License-Identifier: BSD-3-Clause
-
-%% header
-
-/** @file dk4svbuf.h File buffering.
-*/
-
-#ifndef DK4CONF_H_INCLUDED
-#if DK4_BUILDING_DKTOOLS4
-#include "dk4conf.h"
-#else
-#include <dktools-4/dk4conf.h>
-#endif
-#endif
-
-#ifndef STDIO_H_INCLUDED
-#include <stdio.h>
-#define STDIO_H_INCLUDED 1
-#endif
-
-#ifndef DK4ERROR_H_INCLUDED
-#if DK4_BUILDING_DKTOOLS4
-#include "dk4error.h"
-#else
-#include <dktools-4/dk4error.h>
-#endif
-#endif
-
-/** How to buffer a file.
-*/
-typedef enum {
- DK4_FILE_NO_BUFFERING = 0 , /**< Do not use buffers. */
- DK4_FILE_LINE_BUFFERING , /**< Buffer lines. */
- DK4_FILE_FULL_BUFFERING /**< Full buffering. */
-} dk4_file_buffering_t;
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/** Set up buffering for a file.
- @param fipo File to modify.
- @param tp Buffering type.
- @param pbuf Start address of buffer to use, may be NULL.
- @param szbuf Size of buffer, may be 0.
- @param erp Error report, may be NULL.
- @return 1 on success, 0 on error.
-
- Error codes:
- - DK4_E_INVALID_ARGUMENTS<br>
- if fipo is NULL,
- - DK4_E_NOT_SUPPORTED<br>
- if neither the setbuffer function nor the setvbuf() function
- is available on the system.
- - DK4_E_SYSTEM<br>
- if setvbuf() indicated an error.
-*/
-int
-dk4setvbuf(
- FILE *fipo,
- dk4_file_buffering_t tp,
- char *pbuf,
- size_t szbuf,
- dk4_er_t *erp
-);
-
-#ifdef __cplusplus
-}
-#endif
-
-/* vim: set ai sw=4 ts=4 : */
-%% module
-
-
-#include "dk4conf.h"
-#include "dk4svbuf.h"
-
-#if DK4_HAVE_ERRNO_H
-#ifndef ERRNO_H_INCLUDED
-#include <errno.h>
-#define ERRNO_H_INCLUDED 1
-#endif
-#endif
-
-#if DK4_HAVE_ASSERT_H
-#ifndef ASSERT_H_INCLUDED
-#include <assert.h>
-#define ASSERT_H_INCLUDED 1
-#endif
-#endif
-
-$!trace-include
-
-
-
-/** Buffering type constants.
-*/
-static int buffering_types[] = {
- _IONBF, _IOLBF, _IOFBF
-};
-
-
-int
-dk4setvbuf(
- FILE *fipo,
- dk4_file_buffering_t tp,
- char *pbuf,
- size_t szbuf,
- dk4_er_t *erp
-)
-{
- int back = 0;
-#if DK4_HAVE_SETVBUF
- int svbres = 0;
-#endif
- int btp;
-
-#if DK4_USE_ASSERT
- assert(NULL != fipo);
-#endif
- if (NULL != fipo) {
- btp = (
- ((0 <= (int)tp) && (3 > (int)tp))
- ? (buffering_types[(int)tp])
- : (buffering_types[2])
- );
-#if DK4_HAVE_SETVBUF
- errno = 0;
- svbres = setvbuf(
- fipo,
- ((0 < szbuf) ? (pbuf) : (NULL)),
- (((NULL != pbuf) && (0 < szbuf)) ? (btp) : (buffering_types[0])),
- szbuf
- );
- if (0 == svbres) {
- back = 1;
- }
- else {
- dk4error_set_idetails(erp, DK4_E_SYSTEM, errno);
- }
-#else
-#if DK4_HAVE_SETBUFFER
- setbuffer(fipo, pbuf, szbuf);
- back = 1;
-#else
- back = 1;
- dk4error_set_simple_error_code(erp, DK4_E_NOT_SUPPORTED);
-#endif
-#endif
- }
- else {
- dk4error_set_simple_error_code(erp, DK4_E_INVALID_ARGUMENTS);
- }
- return back;
-}
-
-/* vim: set ai sw=4 ts=4 : */
-