filemem: fix fwrite() return check in fm_write();

test `ferror()` also in `fm_err()` if `err` zero and file
NetBSD: add instructions and some workarounds (`getopt_long_only()`
  in particular)
qzint: check `__GNUC__` version for "-Wstringop-truncation"
  suppression
This commit is contained in:
gitlost 2023-12-29 19:34:44 +00:00
parent 98f86727cc
commit 3950b49050
12 changed files with 64 additions and 29 deletions

View file

@ -26,20 +26,27 @@
#include <string.h>
#ifndef _MSC_VER
#include <getopt.h>
#include <zint.h>
# include <getopt.h>
# ifdef __NetBSD__ /* `getopt_long_only()` not available */
# define getopt_long_only getopt_long
# endif
# include <zint.h>
#else
#include "../getopt/getopt.h"
#include "zint.h"
#if _MSC_VER != 1200 /* VC6 */
#pragma warning(disable: 4996) /* function or variable may be unsafe */
#endif
# include "../getopt/getopt.h"
# include "zint.h"
# if _MSC_VER != 1200 /* VC6 */
# pragma warning(disable: 4996) /* function or variable may be unsafe */
# endif
#endif /* _MSC_VER */
/* Following copied from "backend/library.c" */
/* It's assumed that int is at least 32 bits, the following will compile-time fail if not
* https://stackoverflow.com/a/1980056 */
typedef char static_assert_int_at_least_32bits[sizeof(int) * CHAR_BIT < 32 ? -1 : 1];
/* Following copied from "backend/common.h" */
#ifndef ARRAY_SIZE
#define ARRAY_SIZE(x) ((int) (sizeof(x) / sizeof((x)[0])))
#endif