Skip to content

Standard C link library for amiga-specific gcc development.

Notifications You must be signed in to change notification settings

blubberdiblub/libnix

 
 

Repository files navigation

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;

About

Standard C link library for amiga-specific gcc development.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 95.8%
  • C++ 3.8%
  • Makefile 0.4%