Standard C link library for amiga-specific gcc development.
C
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
assert
ctype
errno
extra
headers
locale
math
misc
setjmp
signal
socket
stdio
stdlib
string
time
Makefile
Product-Info
README
changes
filelist
libnix.a
libnix.texi

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;