Standard C link library for amiga-specific gcc development
Go to file
diegocr 27365e3686 Initial commit 2010-07-27 16:58:17 +00:00
assert Initial commit 2010-07-27 16:58:17 +00:00
ctype Initial commit 2010-07-27 16:58:17 +00:00
errno Initial commit 2010-07-27 16:58:17 +00:00
extra Initial commit 2010-07-27 16:58:17 +00:00
headers Initial commit 2010-07-27 16:58:17 +00:00
locale Initial commit 2010-07-27 16:58:17 +00:00
math Initial commit 2010-07-27 16:58:17 +00:00
misc Initial commit 2010-07-27 16:58:17 +00:00
setjmp Initial commit 2010-07-27 16:58:17 +00:00
signal Initial commit 2010-07-27 16:58:17 +00:00
socket Initial commit 2010-07-27 16:58:17 +00:00
stdio Initial commit 2010-07-27 16:58:17 +00:00
stdlib Initial commit 2010-07-27 16:58:17 +00:00
string Initial commit 2010-07-27 16:58:17 +00:00
time Initial commit 2010-07-27 16:58:17 +00:00
Makefile Initial commit 2010-07-27 16:58:17 +00:00
Product-Info Initial commit 2010-07-27 16:58:17 +00:00
README Initial commit 2010-07-27 16:58:17 +00:00
changes Initial commit 2010-07-27 16:58:17 +00:00
filelist Initial commit 2010-07-27 16:58:17 +00:00
libnix.a Initial commit 2010-07-27 16:58:17 +00:00
libnix.texi Initial commit 2010-07-27 16:58:17 +00:00

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;