src/vis.c


Log

Author Commit Date CI Message
Guillem Jover 50b50a43 2021-03-02T05:18:04 vis: Add prototypes for strnvis() and strnunvis() variants Warned-by: gcc
Guillem Jover 890699a7 2019-08-06T18:51:45 build: Abstract symbol versioning via new libbsd_symver_* macros This makes it more obvious what they are doing. It will make it easier to make these directives more portable, as they are really ELF specific.
Aaron Dierking b9dee9f6 2018-06-14T11:38:31 Use CHAR_BIT instead of NBBY in strnvis() <sys/param.h> is not available on Windows. Signed-off-by: Guillem Jover <guillem@hadrons.org>
Aaron Dierking 81c3c3e4 2018-06-14T11:38:31 Replace reintroduced legacy u_* type usage in strnvis() and strnunvis() This fixes a regression caused by 2d7de18. These types are not available on all systems. Fixes: commit 2d7de186e9cb19a756c0630ee85cb3f2d29b3484 Signed-off-by: Guillem Jover <guillem@hadrons.org>
Guillem Jover 5e0998fa 2018-06-09T00:08:14 Remove dead code in vis The loop only executes while len > 0, and the trinary operator in the function argument is checking against len >= 1 which will always be true. Warned-by: coverity
Guillem Jover 8e2d5504 2018-06-06T05:41:34 Fix vis family of functions to not leak The code uses an internal helper function to avoid code repetition. But to get there, the function takes a pointer to a pointer, so that the few functions that require returning an allocated buffer can get hold of it this way. The problem is that the user might pass a NULL pointer and trigger an internal allocation even if the functions are not expected to do so. Add a new internal helper for non-allocations, that will assert that condition, and make any other function that requires this behavior call this one instead. Warned-by: coverity
Guillem Jover e4e15ed2 2018-05-22T13:50:44 Fix strnvis() and strnunvis() NetBSD ABI break The NetBSD implementations have different prototypes to the ones coming from OpenBSD, which will break builds, and have caused segfaults at run-time. We provide now both interfaces with different prototypes as different version nodes allow selecting them at compile-time, defaulting for now to the OpenBSD one to avoid build-time breakage, while emitting a compile-time warning. Later on, in 0.10.0, we will be switching the compile-time default to the NetBSD version. Ref: http://gnats.netbsd.org/44977 Fixes: https://bugs.debian.org/899282
Guillem Jover 2d7de186 2018-05-21T03:09:05 Update vis/unvis modules from NetBSD
Guillem Jover 07c76b66 2017-06-05T06:17:27 Do not use legacy BSD u_* types Some systems do not have these types available, and they are simply convenience aliases. Instead use the expanded versions which are more portable. Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=101192
Guillem Jover 8b6a7477 2011-02-23T12:38:42 Conditionalize temporary compatibility inclusions These inclusions were in place for backward compatibility purposes, when the headers were split so that code using them would not break. Make it possible for applications to disable them by defining LIBBSD_CLEAN_INCLUDES so that buildability can be tested and fixed before they get removed in a subsequent release.
Guillem Jover 7b3873bc 2010-01-10T01:35:27 Update vis and unvis modules from OpenBSD
Guillem Jover 04250f6a 2009-10-24T00:15:57 Add strnvis and strnunvis functions Taken from OpenBSD.
Guillem Jover 1512d0d4 2008-07-09T07:22:30 Renumber 4th clause from BSD license to 3rd Those files have only three clauses.
Guillem Jover f5b83170 2008-03-16T14:30:51 Remove UC Berkeley advertising clause As per <ftp://ftp.cs.berkeley.edu/pub/4bsd/README.Impt.License.Change>.
Robert Millan 40bb012f 2006-03-19T10:25:49 Add vis and unvis