libusual.git
12 years agocfparser,cxalloc: avoid use of struct field specifiers.
Marko Kreen [Wed, 13 Jun 2012 22:36:33 +0000 (01:36 +0300)]
cfparser,cxalloc: avoid use of struct field specifiers.

Seems msvc does not support them..

12 years agologging: Use __VA_ARGS__ for vararg macros
Marko Kreen [Wed, 13 Jun 2012 22:33:43 +0000 (01:33 +0300)]
logging: Use __VA_ARGS__ for vararg macros

It's more portable (msvc), seems the (args... + ## args) style
is GNU extension.

12 years agoantimake: show mkdir commands if in verbose mode
Marko Kreen [Sat, 16 Jun 2012 12:27:30 +0000 (15:27 +0300)]
antimake: show mkdir commands if in verbose mode

12 years agoantimake: use JoinPath when calculating feat file name
Marko Kreen [Sat, 16 Jun 2012 12:26:44 +0000 (15:26 +0300)]
antimake: use JoinPath when calculating feat file name

12 years agowchar: allow missing mbsnrtowcs()
Marko Kreen [Fri, 4 Jan 2013 23:05:48 +0000 (01:05 +0200)]
wchar: allow missing mbsnrtowcs()

12 years agopthread: missing HAVE_PTHREAD_H check
Marko Kreen [Fri, 4 Jan 2013 22:53:20 +0000 (00:53 +0200)]
pthread: missing HAVE_PTHREAD_H check

12 years agoRemove remaining C++ comments from source tree.
Marko Kreen [Fri, 4 Jan 2013 21:19:34 +0000 (23:19 +0200)]
Remove remaining C++ comments from source tree.

I like to use them for debugging, to show that this
comment is temporary, but that also means they
should not stay around.

12 years agofind_modules: test with various awks
Marko Kreen [Fri, 4 Jan 2013 07:51:05 +0000 (09:51 +0200)]
find_modules: test with various awks

12 years agofind_modules: older awks might not have 'in'
Marko Kreen [Fri, 4 Jan 2013 07:50:21 +0000 (09:50 +0200)]
find_modules: older awks might not have 'in'

12 years agodlfcn: new module for dlopen compat functions
Marko Kreen [Wed, 13 Jun 2012 22:29:54 +0000 (01:29 +0300)]
dlfcn: new module for dlopen compat functions

12 years agocf_set_time_usec: Use explicit cast for float->int conversion
Marko Kreen [Wed, 13 Jun 2012 22:21:22 +0000 (01:21 +0300)]
cf_set_time_usec: Use explicit cast for float->int conversion

12 years agotest/compile: fix daemonize() argument type
Marko Kreen [Wed, 13 Jun 2012 22:17:43 +0000 (01:17 +0300)]
test/compile: fix daemonize() argument type

12 years agoMerge pull request #4 from fdr/c89-comments
Marko Kreen [Thu, 3 Jan 2013 22:34:12 +0000 (14:34 -0800)]
Merge pull request #4 from fdr/c89-comments

Use C89 compatible comments

12 years agousual/fnmatch: fnmatch compat
Marko Kreen [Sat, 29 Dec 2012 17:21:13 +0000 (19:21 +0200)]
usual/fnmatch: fnmatch compat

12 years agousual/wchar: wide-char utilities.
Marko Kreen [Mon, 31 Dec 2012 12:18:49 +0000 (14:18 +0200)]
usual/wchar: wide-char utilities.

12 years agousual/hashing/siphash: SipHash-2-4
Marko Kreen [Sat, 29 Dec 2012 16:37:52 +0000 (18:37 +0200)]
usual/hashing/siphash: SipHash-2-4

New secure hash.

12 years agoMove simple hashes under separate subdirectory.
Marko Kreen [Sat, 22 Dec 2012 22:47:44 +0000 (00:47 +0200)]
Move simple hashes under separate subdirectory.

There may be more of them.

12 years agofind_module: avoid big regex
Marko Kreen [Sun, 23 Dec 2012 10:05:34 +0000 (12:05 +0200)]
find_module: avoid big regex

12 years agocrypto: Add Keccak (SHA3) algorithm
Marko Kreen [Mon, 29 Oct 2012 17:14:40 +0000 (19:14 +0200)]
crypto: Add Keccak (SHA3) algorithm

It is based on Keccak reference implementation, but cleaned
up for SHA3-only usage.

12 years agocrypto: SHA2 digests
Marko Kreen [Mon, 29 Oct 2012 16:13:46 +0000 (18:13 +0200)]
crypto: SHA2 digests

Separate module for both SHA-256 and SHA-512.

12 years agocrypto/digest: common framework for digests
Marko Kreen [Mon, 29 Oct 2012 06:33:35 +0000 (08:33 +0200)]
crypto/digest: common framework for digests

The digests will be easier to use (and test) if they share
common wrapper API.

12 years agocrypto: reorder arguments in _final()
Marko Kreen [Sun, 28 Oct 2012 21:48:18 +0000 (23:48 +0200)]
crypto: reorder arguments in _final()

The old one was final(dst, ctx) which is some sort of historical
accident.  Lets get rid of it.  Then all operations on hash context
take context as first argument.

12 years agoMove crypto files
Marko Kreen [Sun, 28 Oct 2012 21:04:35 +0000 (23:04 +0200)]
Move crypto files

There will be more, so give them subdirectory.

12 years agofind_modules: work with subdirs
Marko Kreen [Sun, 28 Oct 2012 21:30:01 +0000 (23:30 +0200)]
find_modules: work with subdirs

12 years agomakefile: asm and size tagets
Marko Kreen [Tue, 30 Oct 2012 20:48:17 +0000 (22:48 +0200)]
makefile: asm and size tagets

12 years agotest_regex: skip test that glibc fails
Marko Kreen [Tue, 30 Oct 2012 20:47:55 +0000 (22:47 +0200)]
test_regex: skip test that glibc fails

12 years agotest_endian: fix uint64 check
Marko Kreen [Tue, 30 Oct 2012 20:13:33 +0000 (22:13 +0200)]
test_endian: fix uint64 check

12 years agoNo need to keep CXX around.
Marko Kreen [Thu, 1 Nov 2012 16:34:33 +0000 (18:34 +0200)]
No need to keep CXX around.

12 years agoantimake: fix final target name calculation
Marko Kreen [Wed, 28 Nov 2012 13:00:19 +0000 (15:00 +0200)]
antimake: fix final target name calculation

12 years agoAnother fix for dep flags.
Marko Kreen [Thu, 1 Nov 2012 16:33:20 +0000 (18:33 +0200)]
Another fix for dep flags.

Just test the exact flags that antimake will use.

For unknown reasons, autoconf corrupts $@ so it's
hard to pass the flags down.  Currently just keep
them in sync with antimake.

12 years agoFix test makefile for extensions
Marko Kreen [Sun, 28 Oct 2012 21:30:32 +0000 (23:30 +0200)]
Fix test makefile for extensions

12 years agousual.m4: unbreak compiler dependency generation check
Marko Kreen [Sun, 28 Oct 2012 21:41:01 +0000 (23:41 +0200)]
usual.m4: unbreak compiler dependency generation check

13 years agocfparser: CF_UINT
Marko Kreen [Wed, 18 Jul 2012 18:06:01 +0000 (21:06 +0300)]
cfparser: CF_UINT

Support 'unsigned int' variables.

13 years agoantimake: JoinPath: Handle '..' under root directory
Marko Kreen [Sun, 8 Jul 2012 09:44:36 +0000 (12:44 +0300)]
antimake: JoinPath: Handle '..' under root directory

13 years agoantimake: Fix DoEmbed to use two target lists properly
Marko Kreen [Sat, 7 Jul 2012 16:54:01 +0000 (19:54 +0300)]
antimake: Fix DoEmbed to use two target lists properly

The EXTRA list was added wrongly and with extra ','
which hided the problem.

13 years agoantimake: use show-config instead manual grep in test
Marko Kreen [Sat, 7 Jul 2012 16:35:09 +0000 (19:35 +0300)]
antimake: use show-config instead manual grep in test

13 years agoantimake: Convert JoinPath back to plain string based processing
Marko Kreen [Sat, 7 Jul 2012 15:19:49 +0000 (18:19 +0300)]
antimake: Convert JoinPath back to plain string based processing

The hack with $(abspath) + $(relpath) is too fragile as local
filesystem issues can confuse it.

New implementation also tries to work with ./, ../ properly.

Reported-By: Marcus Engene
13 years agombuf: mbuf_consumed() function
Marko Kreen [Sat, 7 Jul 2012 15:19:30 +0000 (18:19 +0300)]
mbuf: mbuf_consumed() function

13 years agoantimake: postpone varoverride in BigTargetBuild
Marko Kreen [Tue, 5 Jun 2012 14:27:41 +0000 (17:27 +0300)]
antimake: postpone varoverride in BigTargetBuild

If variables are overrided immediately, they don't
see changes made inside BigTargetBuild.

13 years agoantimake: improvements from dev repo
Marko Kreen [Tue, 5 Jun 2012 13:40:03 +0000 (16:40 +0300)]
antimake: improvements from dev repo

- aclocaldir
- More tracing macros
- Rework O= support to use make functions instead shell
- Add hooks concept
- Add externally loadable features concept
- Move libusual hacks from antimake.mk to amext-libusual.mk
- amext-modes.mk: add more ways to compile one target

To load 'libusual' or 'modes' extension, add AM-FEATURES to makefile:

  AM_FEATURES = libusual modes

13 years agoCheck for glibtoolize, allow overrides from env
Marko Kreen [Tue, 5 Jun 2012 11:42:56 +0000 (14:42 +0300)]
Check for glibtoolize, allow overrides from env

13 years agocfparser: CF_TIME - use strtod() instead atof()
Marko Kreen [Tue, 5 Jun 2012 11:38:13 +0000 (14:38 +0300)]
cfparser: CF_TIME - use strtod() instead atof()

It will give better error handling.

13 years agotest_fileutil: fix signedness warnings
Marko Kreen [Tue, 5 Jun 2012 11:37:48 +0000 (14:37 +0300)]
test_fileutil: fix signedness warnings

13 years agotest_regex.c: fix invalid memset
Marko Kreen [Tue, 5 Jun 2012 10:46:59 +0000 (13:46 +0300)]
test_regex.c: fix invalid memset

13 years agoUse C89 compatible comments
Daniel Farina [Sat, 19 May 2012 16:54:35 +0000 (12:54 -0400)]
Use C89 compatible comments

These will cause clang -std=c89 to fail on recent versions of the
Macintosh, and fit the style of the rest of the code better anyway.

As to why these assets are commented out is not well explained, given
that as an Assert statement one would naively assume they have no
affect on production-built code.

Signed-off-by: Daniel Farina <drfarina@acm.org>
13 years agohmac: style cleanups, wire up docs
Marko Kreen [Thu, 10 May 2012 20:57:36 +0000 (23:57 +0300)]
hmac: style cleanups, wire up docs

13 years agosocket_ntop.c: avoid 'uninitialized' warning on older compilers
Marko Kreen [Wed, 18 Apr 2012 12:29:32 +0000 (15:29 +0300)]
socket_ntop.c: avoid 'uninitialized' warning on older compilers

13 years agoMerge pull request #2 from fdr/hmac
Marko Kreen [Thu, 10 May 2012 20:10:55 +0000 (13:10 -0700)]
Merge pull request #2 from fdr/hmac

Hmac-SHA1 module from Dan Farina

13 years agoWhitespace and typos
Dan Farina [Thu, 10 May 2012 09:42:27 +0000 (02:42 -0700)]
Whitespace and typos

Signed-off-by: Dan Farina <drfarina@acm.org>
13 years agoAdd HMAC-SHA1
Dan Farina [Thu, 10 May 2012 09:42:11 +0000 (02:42 -0700)]
Add HMAC-SHA1

Signed-off-by: Dan Farina <drfarina@acm.org>
13 years agobase: static_assert(expr, msg)
Marko Kreen [Thu, 5 Apr 2012 14:01:27 +0000 (17:01 +0300)]
base: static_assert(expr, msg)

Provide static_assert() macro.  On newer compilers
it tries to use built-in implementation, on older
ones compat one.

The detection does not need to be too strict as there
is always fallback implementation available.

Include <assert.h>, as that is where C1x will provide it.

13 years agobase: compiler detection for internal usage
Marko Kreen [Thu, 5 Apr 2012 13:45:22 +0000 (16:45 +0300)]
base: compiler detection for internal usage

13 years agobase: CONCAT macros for token merge
Marko Kreen [Thu, 5 Apr 2012 13:35:46 +0000 (16:35 +0300)]
base: CONCAT macros for token merge

13 years agosafeio: ignore EINTR on close()
Marko Kreen [Thu, 5 Apr 2012 13:26:05 +0000 (16:26 +0300)]
safeio: ignore EINTR on close()

Seems the retry is dangerous at least on Linux, BSDs and Solaris.

This should be enough to prove it's not good idea.

13 years agofind_module: ignore 'config' module
Marko Kreen [Thu, 5 Apr 2012 13:21:39 +0000 (16:21 +0300)]
find_module: ignore 'config' module

This avoids including it in source tarball.

13 years agostd-autogen: avoid linking, instead copy autoconf files
Marko Kreen [Fri, 16 Mar 2012 21:28:59 +0000 (23:28 +0200)]
std-autogen: avoid linking, instead copy autoconf files

This enables building source tarballs with build systems
that do not flatten the symlinks on tarball build,
eg: python distutils.

13 years agoantimake: add 2 missing values for relocation
Marko Kreen [Wed, 14 Mar 2012 10:37:13 +0000 (12:37 +0200)]
antimake: add 2 missing values for relocation

EXTRA_tgt_SOURCES & tgt_DEPENDENCIES were missing.

13 years agoantimake: relocate EXTRA targets last
Marko Kreen [Tue, 6 Mar 2012 21:03:42 +0000 (23:03 +0200)]
antimake: relocate EXTRA targets last

Doing them before real ones makes them invisible later.

13 years agoantimake: refresh demos
Marko Kreen [Sun, 4 Mar 2012 12:34:22 +0000 (14:34 +0200)]
antimake: refresh demos

13 years agoantimake: stop converting filenames in flag variables
Marko Kreen [Sun, 4 Mar 2012 09:07:14 +0000 (11:07 +0200)]
antimake: stop converting filenames in flag variables

The variables tgt_LDFLAGS / tgt_CPPFLAGS / tgt_CFLAGS
may contain complex flags, where some words
look like filenames.  Convering those breaks build.

Keep converting only variables that definitely contain
filenames: _SOURCES / _LIBADD / _LDADD.

13 years agoantimake: make JoinPath to always output clean names
Marko Kreen [Sun, 4 Mar 2012 09:02:54 +0000 (11:02 +0200)]
antimake: make JoinPath to always output clean names

When /./ or ../ are left in path name, the dependencies
will be wrong.

As it's too hard to do the join with plain string operations,
use $(abspath) and then convert path back to relative.

13 years agosignal: Use sigqueue() to detect sival existence
Marko Kreen [Sun, 4 Mar 2012 08:11:52 +0000 (10:11 +0200)]
signal: Use sigqueue() to detect sival existence

SI_QUEUE is not enough on HPUX.  Hopefully
this works better.

13 years agoattregex: import testregex.c v2010-06-10
Marko Kreen [Sun, 26 Feb 2012 12:46:57 +0000 (14:46 +0200)]
attregex: import testregex.c v2010-06-10

13 years agouregex: allow \-escape before any non-letter
Marko Kreen [Sun, 26 Feb 2012 12:43:41 +0000 (14:43 +0200)]
uregex: allow \-escape before any non-letter

Escape strictness makes hard to safely escape untrusted
strings - by putting '\' before any non-letter.

This applies only to extended regex syntax.  No such
clear rule for basic regexes.

13 years agocfparser: better error handling for set_int
Marko Kreen [Thu, 19 Jan 2012 11:49:02 +0000 (13:49 +0200)]
cfparser: better error handling for set_int

13 years agousual.m4: drop -Wuninitialized-experimental
Marko Kreen [Thu, 19 Jan 2012 11:18:32 +0000 (13:18 +0200)]
usual.m4: drop -Wuninitialized-experimental

Does not work and throws flags warnings on newer clang.

13 years agocfparser: use strtol() in set_int
Marko Kreen [Thu, 19 Jan 2012 11:17:51 +0000 (13:17 +0200)]
cfparser: use strtol() in set_int

This allows octal and hex prefixes, also error detection.

13 years agobase_win32: dummy chown, getgrnam
Marko Kreen [Thu, 19 Jan 2012 11:16:48 +0000 (13:16 +0200)]
base_win32: dummy chown, getgrnam

13 years agoantimake: Remove unused AM_TARGET_RELOC_VARIABLES
Marko Kreen [Thu, 22 Dec 2011 17:31:32 +0000 (19:31 +0200)]
antimake: Remove unused AM_TARGET_RELOC_VARIABLES

Current code relocates all target variables.

13 years agoantimake: Don't clean EXTRA targets.
Marko Kreen [Thu, 22 Dec 2011 17:29:28 +0000 (19:29 +0200)]
antimake: Don't clean EXTRA targets.

As they are not build, not point cleaning.

13 years agoantimake: fix typo in am-check-distfiles
Marko Kreen [Tue, 20 Dec 2011 22:01:21 +0000 (00:01 +0200)]
antimake: fix typo in am-check-distfiles

13 years agomake dox: drop last-update line
Marko Kreen [Tue, 20 Dec 2011 21:43:49 +0000 (23:43 +0200)]
make dox: drop last-update line

Pointless, as everything will be regenerated on rebuild.

13 years agoUpdate build tests
Marko Kreen [Tue, 20 Dec 2011 21:27:08 +0000 (23:27 +0200)]
Update build tests

13 years agotest/compile: avoid unused warning
Marko Kreen [Tue, 20 Dec 2011 21:05:26 +0000 (23:05 +0200)]
test/compile: avoid unused warning

13 years agostd-autogen: more random workarounds
Marko Kreen [Tue, 20 Dec 2011 21:00:59 +0000 (23:00 +0200)]
std-autogen: more random workarounds

13 years agoantimake: add SHELL replacement
Marko Kreen [Tue, 20 Dec 2011 20:58:19 +0000 (22:58 +0200)]
antimake: add SHELL replacement

libtool needs to get right shell, may not work with default one.

13 years agousual.m4: fix bad quoting in --as-needed check
Marko Kreen [Tue, 20 Dec 2011 19:36:25 +0000 (21:36 +0200)]
usual.m4: fix bad quoting in --as-needed check

13 years agobuild: work with older autotools
Marko Kreen [Tue, 20 Dec 2011 19:04:23 +0000 (21:04 +0200)]
build: work with older autotools

- AC_PROG_SED|MKDIR_P can be missing
- Avoid nosub_top_builddir being empty
- aclocal wants space after -I

13 years agostd-autogen: add comment explaining purpose
Marko Kreen [Tue, 20 Dec 2011 15:45:24 +0000 (17:45 +0200)]
std-autogen: add comment explaining purpose

13 years agoantimake: use version vars recursively
Marko Kreen [Tue, 20 Dec 2011 15:43:26 +0000 (17:43 +0200)]
antimake: use version vars recursively

This makes sure we don't pass newer version
test accidentally, without passing older version test.

13 years agostd-autogen: add -f to libtoolize
Marko Kreen [Tue, 20 Dec 2011 15:34:26 +0000 (17:34 +0200)]
std-autogen: add -f to libtoolize

otherwise config.sub can be missing

13 years agoantimake: minor fixes
Marko Kreen [Tue, 20 Dec 2011 14:56:20 +0000 (16:56 +0200)]
antimake: minor fixes

- Move 'ProcessTargets' before 'clean' so ifdefs in latter
  can see changes to CLEANFILES.

- Make EMBED_LIBUSUAL support srcdir != builddir

13 years agostd-autogen: bring in our own copy of install-sh
Marko Kreen [Tue, 13 Dec 2011 13:51:12 +0000 (15:51 +0200)]
std-autogen: bring in our own copy of install-sh

older autotools fail to install it into source tree.

13 years agoregex: fix off-by-one error in regerror()
Marko Kreen [Tue, 13 Dec 2011 09:27:34 +0000 (11:27 +0200)]
regex: fix off-by-one error in regerror()

13 years agoantimake: automatically use WFLAGS
Marko Kreen [Mon, 12 Dec 2011 22:39:54 +0000 (00:39 +0200)]
antimake: automatically use WFLAGS

13 years agostring: always use own basename+dirname.
Marko Kreen [Mon, 12 Dec 2011 21:59:00 +0000 (23:59 +0200)]
string: always use own basename+dirname.

Cannot use libc versions as its uncertains whether they modify
input or not.  So it's simpler to always use own verisions.

13 years agotest_netdb: accept ENOSYS
Marko Kreen [Mon, 12 Dec 2011 11:37:29 +0000 (13:37 +0200)]
test_netdb: accept ENOSYS

This allows the test to pass when no-op getaddrinfo is used.

13 years agoTests & demos for antimake
Marko Kreen [Tue, 29 Nov 2011 19:53:30 +0000 (21:53 +0200)]
Tests & demos for antimake

13 years agoUpdate build system to use Antimake
Marko Kreen [Tue, 29 Nov 2011 19:48:17 +0000 (21:48 +0200)]
Update build system to use Antimake

Additional features:
- install headers with filtering, to hide HAVE_* symbols
- libusual.pc for pkg-config

13 years agoantimake: New build system.
Marko Kreen [Tue, 29 Nov 2011 18:55:49 +0000 (20:55 +0200)]
antimake: New build system.

Emulates Automake syntax on plain GNU Make.

13 years agoStop using AC_USE_SYSTEM_EXTENSIONS
Marko Kreen [Tue, 29 Nov 2011 20:48:19 +0000 (22:48 +0200)]
Stop using AC_USE_SYSTEM_EXTENSIONS

It tries to do too much too early.

13 years agobase: make CUSTOM_ALIGN use uintptr_t
Marko Kreen [Tue, 29 Nov 2011 18:42:50 +0000 (20:42 +0200)]
base: make CUSTOM_ALIGN use uintptr_t

For cases where long is shorter than ptr.

14 years agocfparser: cf_set_filename - fix off-by-one error
Marko Kreen [Thu, 8 Sep 2011 15:32:28 +0000 (17:32 +0200)]
cfparser: cf_set_filename - fix off-by-one error

Final string was terminated in wrong place

14 years agoMerge pull request #1 from toofishes/master
Marko Kreen [Wed, 29 Jun 2011 08:00:57 +0000 (01:00 -0700)]
Merge pull request #1 from toofishes/master

A few cleanups and changes when I was trying to build pgbouncer from git

14 years agoAdd a _NORETURN macro
Dan McGee [Tue, 21 Jun 2011 22:26:29 +0000 (17:26 -0500)]
Add a _NORETURN macro

Signed-off-by: Dan McGee <dan@archlinux.org>
14 years agoFix autoconf warnings
Dan McGee [Tue, 21 Jun 2011 22:25:52 +0000 (17:25 -0500)]
Fix autoconf warnings

Usages of AC_LINK_IFELSE, AC_COMPILE_IFELSE, etc. should be using the
AC_LANG_SOURCE() macro around source code fragments. Autoconf 2.66 or so
and up spit warnings if this macro is not used during configure
regeneration.

Signed-off-by: Dan McGee <dan@archlinux.org>
14 years agoAdd missing macro definition
Dan McGee [Tue, 21 Jun 2011 22:25:46 +0000 (17:25 -0500)]
Add missing macro definition

Signed-off-by: Dan McGee <dan@archlinux.org>
14 years agotime: better autodetection on win32
Marko Kreen [Thu, 5 May 2011 18:23:02 +0000 (21:23 +0300)]
time: better autodetection on win32

Seems like the posix functions are slowly added to mingw/msvcrt
so we cannot blindly assume with #ifdef WIN32 whats there.

Add proper autodetection for gettimeofday(), localtime_r(), getrusage()

Remove double detection for recvmsg and sendmsg.

14 years agobase_win32: remove duplicate sigval/sigevent declaration
Marko Kreen [Thu, 5 May 2011 06:12:01 +0000 (09:12 +0300)]
base_win32: remove duplicate sigval/sigevent declaration

14 years agosocket: include <sys/uio.h> to get iovec
Marko Kreen [Fri, 29 Apr 2011 14:57:42 +0000 (17:57 +0300)]
socket: include <sys/uio.h> to get iovec

Needed on OpenBSD.  In addition to readv/writev, the
iovec is used also by sendmsg()/recvmsg().

Reported-by: Pierre-Emmanuel André