Standard C link library for amiga-specific gcc development
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
diegocr 27365e3686 Initial commit 9 years ago
assert Initial commit 9 years ago
ctype Initial commit 9 years ago
errno Initial commit 9 years ago
extra Initial commit 9 years ago
headers Initial commit 9 years ago
locale Initial commit 9 years ago
math Initial commit 9 years ago
misc Initial commit 9 years ago
setjmp Initial commit 9 years ago
signal Initial commit 9 years ago
socket Initial commit 9 years ago
stdio Initial commit 9 years ago
stdlib Initial commit 9 years ago
string Initial commit 9 years ago
time Initial commit 9 years ago
Makefile Initial commit 9 years ago
Product-Info Initial commit 9 years ago
README Initial commit 9 years ago
changes Initial commit 9 years ago
filelist Initial commit 9 years ago
libnix.a Initial commit 9 years ago
libnix.texi Initial commit 9 years ago

README


LIBNIX - Standard C link library for amiga-specific gcc development

Copyright (C) 1996 Matthias Fleischer
Copyright (C) 2000 Gunther Nikl
Copyright (C) 2004 Jeff Shepherd
Copyright (C) 2009 Diego Casorran

This is libnix 3.0, based on the version 2.1 released by Jeff Shepherd
at SourceForge: http://sourceforge.net/projects/libnix/

Please note this repository contains "sources/nix" source code needed to
build libnix.a Thus, this is intended as an update to the old library,
no additional libs source code is included since they were not modified.


The list of changes between 2.1 and 3.0 are as follow:

* extra/gettimeofday.c: changed to use GetSysTime() with UNIT_MICROHZ

* misc/bcopy.c: Optimized small operations

* misc/bzero.c: Optimized small operations

* stdio/*: stdin, stdout, and stderr are now protected from being closed..

* stdio/fputs.c: bugfix for segfaults caused while using stderr

* stdio/fwrite.c: bugfix for segfaults caused while using stderr

* stdio/open.c: bugfix due no Seek()'ing to EOF when O_APPEND is used (!)

* stdio/open.c: MODE_READWRITE will only be used when O_CREAT

* stdio/open.c: stderr is now opened by using CONSOLE: instead of '*'

* stdio/open.c: _allocfd() will reallocate stdfiledes on increments by 10

* stdio/open.c: Improved write() function

* stdio/perror.c: bugfix for segfaults caused by using stderr

* stdio/vfprintf.c: replaced fputc by putc to make it somewhat faster

* stdio/vsnprintf.c: fixed a "buffer full" state bug..

* stdio/__swbuf.c: workaround/bugfix for unbuffered streams..

* stdlib/malloc.c: moved free() here and made local variables static

* stdlib/malloc.c: Removed "dummy" opening of dos.library

* stdlib/realloc.c: Changed CopyMem() to bcopy()

* string/memchr.c: Speed Improvement

* string/memcmp.c: Speed Improvement

* string/memcpy.c: Replaced CopyMem() by internal bcopy()

* string/memset.c: Optimized small operations

* time/clock.c: Changed to use ReadEClock

* Added POSIX Semaphores implementation.

* Added dummy implementations for dcgettext, dgettext, gettext, textdomain

* Added libmui.a functions - why not?

* Added auto-initialization for timer.device

* Added auto initialization of bsdsocket.library, including mapping
of errno/h_errno variables and program name to [v]syslog messages.

* Added functions: v/asprintf, fnmatch, strlcat, nl_langinfo, basename,
getline, getdelim, readpassphrase, getpass, getpass_r, memrchr, gmtime_r,
localtime_r, asctime_r, ctime_r, strerror_r, strtok_r, poll, strcmpi,
strncmpi, stristr, strcasestr, memdup, truncate, ftruncate, syslog,
openlog, closelog, setlogmask, inet_addr, socketpair, inet_aton, inet_ntoa,
inet_ntop, inet_pton, intoa, sleep, usleep, nanosleep, memmem, mempcpy,
stpncpy, physmem_total, physmem_available, getruntime, popen, pclose, ffs,
unctrl, unctrllen, telldir, seekdir, scandir, alphasort, strndup, strnlen,
strlcpy, strchrnul,

* Somewhat improved strtok, strtok_r, strspn, strdup

* Added IEEE math functions sqrt, sqrtf, sqrtl, cbrt, cbrtf, cbrtl, exp,
expf, expl, exp2, exp2f, exp2l, hypot, hypotf, hypotl, log2, log2f, log2l,
log10, log10f, log10l, copysign, copysignf, copysignl, rint, rintf, rintl,
round, roundf, roundl, trunc, truncf, truncl, acosh, acoshf, acoshl

* Added misc function ConsoleWidth(), on *nix this is normally achieved
using the following code (which you can replace with that function):
struct winsize wsz;
fd = fileno (stderr);
ioctl (fd, TIOCGWINSZ, &wsz);
return wsz.ws_col;