1
0
mirror of https://github.com/adtools/clib2.git synced 2025-12-08 14:59:05 +00:00

33 Commits

Author SHA1 Message Date
eca85e071b This commit was manufactured by cvs2svn to create tag 'V1_186'.
git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/tags/V1_186@14805 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2005-01-14 09:07:18 +00:00
56b0a74c61 - Added a missing definition to stdio_init_exit.c which is part of
the OS4 header files, but not of the older header file distributions.


git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@14804 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2005-01-14 09:07:17 +00:00
d23f4318f9 - close() did not reset the non-blocking file property, as it should
have. This only worked for files which were closed anyway, but not
  for the stdio streams. Fixed.


git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@14803 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2005-01-14 08:36:54 +00:00
23f70d0c53 - Lost some more code that is not required for AmigaOS 4.x and can be
handled conveniently through conditional compilation.


git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@14802 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2005-01-13 15:39:39 +00:00
c6fcede4ce - Whether or not stdio console streams are blocking or non-blocking
is now determined at initialization time. The I/O mode is restored before
  the program exits. Previously, any changes to the I/O mode would persist.


git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@14801 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2005-01-12 09:15:50 +00:00
5801d000d4 Added -a switch to cp so that it behaves like Copy CLONE.
git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@14800 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2005-01-10 00:56:15 +00:00
619b64e6f4 - open() no longer examines a file after opening it in order to figure
out whether read/write accesses are permitted. This decision is now
  for the file system to make.


git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@14799 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2005-01-09 16:07:27 +00:00
5191ee5660 - The V37/V40 compatibility code is no longer built for the AmigaOS4
version of the library.

- Switched over the last use of DeviceProc() to GetDeviceProc(), etc.


git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@14798 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2005-01-09 15:58:02 +00:00
64c1175f7b - Made the <ctype.h> macros more robust.
git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@14797 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2005-01-09 15:20:33 +00:00
be827762de - Added the baserel directory to the .cvsignore file.
git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@14796 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2005-01-09 10:44:25 +00:00
618299fb48 - Replaced ASSERT() macro invocation with assert() call.
git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@14795 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2005-01-09 10:43:40 +00:00
fbc6d94840 - Dropped the special flag variable used by the abort() function that
tracks whether or not console output is possible. We now use the
  global "__no_standard_io" instead.


git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@14794 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2005-01-09 10:10:41 +00:00
5cf80326bc - Removed a misplaced IsInteractive() from the stdio initialization
function. Now this could have been big trouble...

- Removed tests for FileHandle->fh_Type != NULL which used to precede
  all IsInterative() tests. I verified that IsInteractive() will always
  return FALSE for NIL: type file handles.


git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@14793 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2005-01-09 09:54:33 +00:00
e571888f4f - The "char" limits in <limits.h> are now set up according to the current
compiler settings, which can either default to an unsigned or
  signed definition.

- Changed the rules again for the use of stderr/stdout redirection when
  printing error messages. It is always safe to redirect them now and
  no requester will appear unless you specifically set the value of the
  "__no_standard_io" variable to TRUE in your program.


git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@14792 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2005-01-09 09:40:33 +00:00
f519aafaca - Redirecting stderr to a file no longer has the effect of showing error
messages and assertion failure notifications as requesters. The exception
  is in redirecting stderr to NIL: which will prompt the requester use.

- gettimeofday() now calls GetSysTime() rather than DateStamp() to obtain
  the current system time. This resolves granularity issues since the
  DateStamp() result was only accurate by 1/50 of a second.

- The "ptrdiff_t" definition in <stddef.h> now defaults to type 'int' rather
  than 'long int'.


git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@14791 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2005-01-08 10:21:28 +00:00
984c6729c1 - Updated the copyright information.
git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@14789 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2005-01-02 09:07:21 +00:00
49df44872d - fwrite() now flushes the entire "buffer" for unbuffered files. The
exception are "interactive" files such as console windows. For these
  line buffered output is used.

- Whether or not a file is bound to an interactive device, such as a
  console window, is now checked and remembered after a file descriptor
  has been associated with it.


git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@14788 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2004-12-27 09:15:55 +00:00
e77cc97daf - The data structure alignment (file I/O buffer) is now configurable
at compile time. The default used to be 16 bytes, which is appropriate
  for the 68040/68060 but not for the PowerPC, which uses 32 or 128
  bytes per cache line.


git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@14787 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2004-12-26 13:14:47 +00:00
ad0880d204 - Changed the definition of alloca() for GCC, which now defaults
to the built-in function.

- Updated the stdio.h, stdlib.h, string.h and unistd.h header files
  to declare function prototypes for the __MEM_DEBUG versions of the
  library functions only if that preprocessor symbol is defined.

- If a SIGINT signal is caught and processed by the default signal
  handler, the localized "*** BREAK" string will be printed rather
  than the built-in one.


git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@14786 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2004-12-26 10:28:57 +00:00
d74535f87f - Tried to make it possible to have debug versions of the memory
management code in the default link library along with the
  normal versions. Let's see how well this works out in the GCC
  version. SAS/C does not seem to like it...


git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@14785 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2004-12-24 18:31:38 +00:00
73e6ccc14e - Moved the memory initialization and cleanup functions into the
malloc/free code itself and updated the alloca code to do its
  own data management.

- Finally optimized the alloca() memory cleanup code.


git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@14784 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2004-12-24 11:46:12 +00:00
3c9f119046 - The common error reporting function __show_error() could throw Enforcer
hits if the program was not launched from Shell. Fixed.


git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@14783 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2004-12-24 10:52:02 +00:00
76c68da3a5 - Moved the environment variable cleanup code into a destructor function.
- Fixed a typo in the hstrerror() function.


git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@14782 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2004-12-19 16:42:51 +00:00
7b67ccdec1 - The Kickstart 1.x specific code for error requesters is no longer built
for the OS4 library.


git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@14781 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2004-12-13 11:11:57 +00:00
19ea207fba Added simple startup code for baserel
git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@14780 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2004-11-28 12:31:27 +00:00
b3f0f0dfe0 Added baserel target
git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@14779 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2004-11-28 12:30:53 +00:00
7492d108a3 c.lib 1.184 (28.11.2004)
- Added asctime_r(), ctime_r(), gmtime_r(), localtime_r() and strtok_r().

- Added stubs for the Rexx Variables Interface code that used to
  be part of amiga.lib. While comparable functionality is available
  in rexxsyslib.library V45, the new stubs might be helpful during
  porting. Care must be taken since these functions don't work
  exactly like the originals.

- Integrated strlcpy() and strlcat() which are intended to be safer
  replacements for strncpy() and strncat().

- The program's task priority is now configurable through an external
  variable '__priority'.

- The process name to be used when detaching can be configured through
  the new '__process_name' variable.

- The minimum required operating system version can be configured
  through the new '__minimum_os_lib_version' variable; a matching
  error message can be provided through the new '__minimum_os_lib_error'
  variable.

- The default console window specification can be overriden through
  the new '__stdio_window_specification' variable.

- The socket initialization code did not set up a reference to the
  'h_errno' variable correctly. This had the effect of making name
  and address resolution errors trash the 'errno' variable instead
  and leaving 'h_errno' always set to 0. Fixed.

- For sockets, ioctl() and fcntl() now interact on the FIONBIO/FIOASYNC
  requests (ioctl) and the O_NOBLOCK/O_ASYNC flags (fcntl).

- popen() now accepts "rb" and "wb" as mode parameters. However, "r+",
  "w+" and variants thereof are still unsupported due to the
  unidirectional pipe support in the standard "PIPE:" device.


git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@14777 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2004-11-28 10:01:26 +00:00
9bf1e01518 - popen() now accepts "rb" and "wb" as mode parameters. However, "r+",
"w+" and variants thereof are still unsupported due to the
  unidirectional pipe support in the standard "PIPE:" device.


git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@14776 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2004-11-28 09:33:19 +00:00
be2d80a86a - For sockets, ioctl() and fcntl() now interact on the FIONBIO/FIOASYNC
requests (ioctl) and the O_NOBLOCK/O_ASYNC flags (fcntl).


git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@14775 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2004-11-27 12:43:12 +00:00
24ea9161a7 - Split the reentrant functions from the non-reentrant ones.
git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@14774 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2004-11-18 09:40:37 +00:00
2d5193371a - Added asctime_r(), ctime_r(), gmtime_r(), localtime_r() and strtok_r().
git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@14773 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2004-11-17 19:07:26 +00:00
186887bba5 - The program's task priority is now always restored before it exits.
git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@14772 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2004-11-14 11:43:30 +00:00
83f0977c0c - Added stubs for the Rexx Variables Interface code that used to
be part of amiga.lib. While comparable functionality is available
  in rexxsyslib.library V45, the new stubs might be helpful during
  porting. Care must be taken since these functions don't work
  exactly like the originals.

- Integrated strlcpy() and strlcat() which are intended to be safer
  replacements for strncpy() and strncat().

- The program's task priority is now configurable through an external
  variable '__priority'.

- The process name to be used when detaching can be configured through
  the new '__process_name' variable.

- The minimum required operating system version can be configured
  through the new '__minimum_os_lib_version' variable; a matching
  error message can be provided through the new '__minimum_os_lib_error'
  variable.

- The default console window specification can be overriden through
  the new '__stdio_window_specification' variable.

- The socket initialization code did not set up a reference to the
  'h_errno' variable correctly. This had the effect of making name
  and address resolution errors trash the 'errno' variable instead
  and leaving 'h_errno' always set to 0. Fixed.


git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@14771 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2004-11-14 11:06:29 +00:00
697 changed files with 4237 additions and 4163 deletions

View File

@ -1,13 +0,0 @@
# The "checkoutlist" file is used to support additional version controlled
# administrative files in $CVSROOT/CVSROOT, such as template files.
#
# The first entry on a line is a filename which will be checked out from
# the corresponding RCS file in the $CVSROOT/CVSROOT directory.
# The remainder of the line is an error message to use if the file cannot
# be checked out.
#
# File format:
#
# [<whitespace>]<filename>[<whitespace><error message>]<end-of-line>
#
# comment lines begin with '#'

View File

@ -1,15 +0,0 @@
# The "commitinfo" file is used to control pre-commit checks.
# The filter on the right is invoked with the repository and a list
# of files to check. A non-zero exit of the filter program will
# cause the commit to be aborted.
#
# The first entry on a line is a regular expression which is tested
# against the directory that the change is being committed to, relative
# to the $CVSROOT. For the first match that is found, then the remainder
# of the line is the name of the filter to run.
#
# If the repository name does not match any of the regular expressions in this
# file, the "DEFAULT" line is used, if it is specified.
#
# If the name "ALL" appears as a regular expression it is always used
# in addition to the first matching regex or "DEFAULT".

View File

@ -1,21 +0,0 @@
# Set this to "no" if pserver shouldn't check system users/passwords
#SystemAuth=no
# Put CVS lock files in this directory rather than directly in the repository.
#LockDir=/var/lock/cvs
# Set `TopLevelAdmin' to `yes' to create a CVS directory at the top
# level of the new working directory when using the `cvs checkout'
# command.
#TopLevelAdmin=no
# Set `LogHistory' to `all' or `TOEFWUPCGMAR' to log all transactions to the
# history file, or a subset as needed (ie `TMAR' logs all write operations)
#LogHistory=TOEFWUPCGMAR
# Set `RereadLogAfterVerify' to `always' (the default) to allow the verifymsg
# script to change the log message. Set it to `stat' to force CVS to verify# that the file has changed before reading it (this can take up to an extra
# second per directory being committed, so it is not recommended for large
# repositories. Set it to `never' (the previous CVS behavior) to prevent
# verifymsg scripts from changing the log message.
#RereadLogAfterVerify=always

View File

@ -1,19 +0,0 @@
# This file affects handling of files based on their names.
#
# The -m option specifies whether CVS attempts to merge files.
#
# The -k option specifies keyword expansion (e.g. -kb for binary).
#
# Format of wrapper file ($CVSROOT/CVSROOT/cvswrappers or .cvswrappers)
#
# wildcard [option value][option value]...
#
# where option is one of
# -f from cvs filter value: path to filter
# -t to cvs filter value: path to filter
# -m update methodology value: MERGE or COPY
# -k expansion mode value: b, o, kkv, &c
#
# and value is a single-quote delimited value.
# For example:
#*.gif -k 'b'

View File

@ -1,21 +0,0 @@
# The "editinfo" file is used to allow verification of logging
# information. It works best when a template (as specified in the
# rcsinfo file) is provided for the logging procedure. Given a
# template with locations for, a bug-id number, a list of people who
# reviewed the code before it can be checked in, and an external
# process to catalog the differences that were code reviewed, the
# following test can be applied to the code:
#
# Making sure that the entered bug-id number is correct.
# Validating that the code that was reviewed is indeed the code being
# checked in (using the bug-id number or a seperate review
# number to identify this particular code set.).
#
# If any of the above test failed, then the commit would be aborted.
#
# Actions such as mailing a copy of the report to each reviewer are
# better handled by an entry in the loginfo file.
#
# One thing that should be noted is the the ALL keyword is not
# supported. There can be only one entry that matches a given
# repository.

View File

@ -1,27 +0,0 @@
# The "loginfo" file controls where "cvs commit" log information
# is sent. The first entry on a line is a regular expression which must match
# the directory that the change is being made to, relative to the
# $CVSROOT. If a match is found, then the remainder of the line is a filter
# program that should expect log information on its standard input.
#
# If the repository name does not match any of the regular expressions in this
# file, the "DEFAULT" line is used, if it is specified.
#
# If the name ALL appears as a regular expression it is always used
# in addition to the first matching regex or DEFAULT.
#
# You may specify a format string as part of the
# filter. The string is composed of a `%' followed
# by a single format character, or followed by a set of format
# characters surrounded by `{' and `}' as separators. The format
# characters are:
#
# s = file name
# V = old version number (pre-checkin)
# v = new version number (post-checkin)
# t = tag or branch name
#
# For example:
#DEFAULT (echo ""; id; echo %s; date; cat) >> $CVSROOT/CVSROOT/commitlog
# or
#DEFAULT (echo ""; id; echo %{sVv}; date; cat) >> $CVSROOT/CVSROOT/commitlog

View File

@ -1,26 +0,0 @@
# Three different line formats are valid:
# key -a aliases...
# key [options] directory
# key [options] directory files...
#
# Where "options" are composed of:
# -i prog Run "prog" on "cvs commit" from top-level of module.
# -o prog Run "prog" on "cvs checkout" of module.
# -e prog Run "prog" on "cvs export" of module.
# -t prog Run "prog" on "cvs rtag" of module.
# -u prog Run "prog" on "cvs update" of module.
# -d dir Place module in directory "dir" instead of module name.
# -l Top-level directory only -- do not recurse.
#
# NOTE: If you change any of the "Run" options above, you'll have to
# release and re-checkout any working directories of these modules.
#
# And "directory" is a path to a directory relative to $CVSROOT.
#
# The "-a" option specifies an alias. An alias is interpreted as if
# everything on the right of the "-a" had been typed on the command line.
#
# You can encode a module within a module by using the special '&'
# character to interpose another module into the current module. This
# can be useful for creating a module that consists of many directories
# spread out over the entire source repository.

View File

@ -1,12 +0,0 @@
# The "notify" file controls where notifications from watches set by
# "cvs watch add" or "cvs edit" are sent. The first entry on a line is
# a regular expression which is tested against the directory that the
# change is being made to, relative to the $CVSROOT. If it matches,
# then the remainder of the line is a filter program that should contain
# one occurrence of %s for the user to notify, and information on its
# standard input.
#
# "ALL" or "DEFAULT" can be used in place of the regular expression.
#
# For example:
#ALL mail -s "CVS notification" %s

View File

@ -1,13 +0,0 @@
# The "rcsinfo" file is used to control templates with which the editor
# is invoked on commit and import.
#
# The first entry on a line is a regular expression which is tested
# against the directory that the change is being made to, relative to the
# $CVSROOT. For the first match that is found, then the remainder of the
# line is the name of the file that contains the template.
#
# If the repository name does not match any of the regular expressions in this
# file, the "DEFAULT" line is used, if it is specified.
#
# If the name "ALL" appears as a regular expression it is always used
# in addition to the first matching regex or "DEFAULT".

View File

@ -1,20 +0,0 @@
# The "taginfo" file is used to control pre-tag checks.
# The filter on the right is invoked with the following arguments:
#
# $1 -- tagname
# $2 -- operation "add" for tag, "mov" for tag -F, and "del" for tag -d
# $3 -- repository
# $4-> file revision [file revision ...]
#
# A non-zero exit of the filter program will cause the tag to be aborted.
#
# The first entry on a line is a regular expression which is tested
# against the directory that the change is being committed to, relative
# to the $CVSROOT. For the first match that is found, then the remainder
# of the line is the name of the filter to run.
#
# If the repository name does not match any of the regular expressions in this
# file, the "DEFAULT" line is used, if it is specified.
#
# If the name "ALL" appears as a regular expression it is always used
# in addition to the first matching regex or "DEFAULT".

View File

@ -1,21 +0,0 @@
# The "verifymsg" file is used to allow verification of logging
# information. It works best when a template (as specified in the
# rcsinfo file) is provided for the logging procedure. Given a
# template with locations for, a bug-id number, a list of people who
# reviewed the code before it can be checked in, and an external
# process to catalog the differences that were code reviewed, the
# following test can be applied to the code:
#
# Making sure that the entered bug-id number is correct.
# Validating that the code that was reviewed is indeed the code being
# checked in (using the bug-id number or a seperate review
# number to identify this particular code set.).
#
# If any of the above test failed, then the commit would be aborted.
#
# Actions such as mailing a copy of the report to each reviewer are
# better handled by an entry in the loginfo file.
#
# One thing that should be noted is the the ALL keyword is not
# supported. There can be only one entry that matches a given
# repository.

View File

@ -1,19 +0,0 @@
In order to build the library, you need a 'C' compiler (obvious, isn't it?) and
a set of header files for the networking API definitions. The networking header
files go into a directory "netinclude" which has to sit in the same directory as
the source code and the "include" directory you find in there. I'm not currently
supplying these header files here. Drop me a line, and I'll take care of that.
The SAS/C flavour (smakefile) should get the library built using the "large data"
model. This rules out the use of residentable programs as the startup code I'm
using is very primitive (startup.o) and doesn't tinker with A4 relative data
addressing (and how this may be set up).
There are two makefiles for GCC, each a different flavour. There is "GNUmakefile.68k",
which will build the library for GCC on the 68k platform ("classic" Amiga). This
builds all variants of the library, for large data, small data, resident, whatever
model. It's a lot of work and I don't recommend you do this on a plain 68k machine.
It will literally (!) take hours. The other makefile flavour is for AmigaOS4 using
the PowerPC hosted GCC system ("GNUmakefile.os4"). This builds only the large data
version of the library, but this is usually all you need. Small data support is
currently not implemented but might follow in the future.

View File

@ -1,235 +0,0 @@
An ISO 'C' (1994) compliant runtime library for the Amiga
=========================================================
1. What is this?
This is my attempt to get Samba 2.2.x ported to the Amiga. My first Amiga
port required SAS/C and a number of strange tricks had to be pulled to get
it to support the kind of environment Samba needed. But with the
introduction of Samba 2.2.x many of those tricks did not work any more,
which is why I decided to attack the problem at the root, namely the
runtime library.
Because it was no longer possible to build Samba with SAS/C on the new
Amiga platform, the idea came up to move development to the GNU 'C'
compiler. This turned out to be a challenge due to its somewhat
underdeveloped runtime library and header files. Eventually, I decided to
rewrite that library from scratch.
2. What does it do?
Using "'C' - A reference manual" as a reference I wrote a set of header
files, then proceeded to implement each single function referenced in them.
With few exceptions in the area of wide character support, the result
should be a feature complete implementation of the ISO 'C' (1994) runtime
library.
Because Samba needs a few POSIX-like routines to be supported, the library
functionality is complemented by a set of routines described in "Advanced
programming in the Unix environent". This set is not complete, however. It
will have to grow even further to accomodate for Samba's needs, but this is
a good start. I specifically added hooks for integrating socket I/O at a
later point of time.
This is not a portable implementation of the library in the sense that you
could move it from one 'C' compiler on one operating system to another.
This is an Amiga specific implementation.
The library supports floating point math, which is limited to IEEE single
and double precision or M68881 inline math. There is no support for the
fast floating point (FFP) format or exclusive IEEE single precision. You
either get double precision (IEEE math) or extended precision (M68881
inline math). What it is that you get is determined at compile time. Use
the IEEE_FLOATING_POINT_SUPPORT preprocessor symbol to activate IEEE math
code and the M68881_FLOATING_POINT_SUPPORT symbol for M68881 inline math.
Not unlike SAS/C, you can configure a minimum stack size the program is to
use when it starts up. This is controlled via the '__stack_size' variable
(see "stdlib_main.c").
I added some amiga.lib and debug.lib functionality to the library, but
don't count on it to be complete.
3. What does it not do?
This library is a departure from the typical 'C' runtime environments of
the past which had to run on all AmigaOS releases, down to Kickstart 1.1.
This very library was designed to take advantage of the routines available
since Kickstart 2.04 was introduced and virtually nobody ever put to use.
This helps to cut the code size, and it also helps to keep bugs out of the
library by falling back onto well-tested implementations. However, the
catch is that the code won't run under Kickstart 1.3 and below. But then
these operating system releases have been obsolete for more than a decade,
and you can always go back to a compiler environment which supports them.
Practically all library routines are implemented in a sort of na<6E>ve
fashion. That is, they contain virtually no optimizations whatsoever. This
is particularly apparent in workhorses such as memset() or memmove(). But
then, the issue is easy testability and Amiga platform portability.
There is very little support for amiga.lib functionality. There is
NewList(), HookEntry(), CallHook(), CallHookA(), the DoMethod() family, the
RexxVars family, but that's all. If you need more, you would have to
implement it yourself. Put another way, if you absolutely need
functionality that is only found in amiga.lib, you really shouldn't need in
in the first place.
4. Where does the source code come from?
I originally thought that it might be helpful to piece this library
together from various sources, such as the BSD libc. Turned out that this
code was so 'portable' that it became much more complex than it ought to
be. Also, some side-effects were present which considerably changed the
behaviour of the library. For example, the BSD libc uses bcopy() as an
alias for memcpy(), and unlike memcpy() is documented to, bcopy() supports
overlapping copies.
Eventually, I wrote virtually all the code myself, borrowing algorithmic
ideas from the BSD libc and the Manx Aztec 'C' runtime library. Because I
don't know much about the environment GCC expects, I borrowed code snippets
from libnix, which was written by Matthias Fleischer and Gunther Nikl. This
in particular concerns the integer and floating point math support, the
setjmp/longjmp routines and the startup code. The M68881 inline math code
comes from the <math-68881.h> file written by Matthew Self
(self@bayes.arc.nasa.gov).
5. Limitations and caveats
There is hardly any documentation on the code I wrote. In part this is due
to the fact that the code itself is very simple in design. It should speak
for itself. However, to make a usable runtime library you have to have a
user documentation as in man pages or autodocs. We will eventually have to
have autodocs for this library.
The code is currently plastered with assertions and debug code. It is
therefore much larger than it ought to be and runs much slower than it
ought to be. For example, the malloc() routine will set the contents of the
memory allocated to a 'dirty' bit pattern which is likely to break software
which makes assumptions about its contents. Likewise, the free() routine
will trash the memory to deallocate with a different 'dirty' bit pattern to
turn up reuse of memory after deallocation. All these debugging features
can be disabled by defining the NDEBUG preprocessor symbol at compile time
(see <assert.h>).
The exception handling in the math code is not particularly effective. For
one part this is due to the fact that there is no exception handler
installed by the runtime library when it starts up which could catch and
process the error conditions the CPU or FPU generates. The idea was to
provide for a portable runtime library with little to no assembly language
involved. To make the exception handling complete, such code would be
necessary.
The library currently builds under SAS/C, but because the 'normal' program
startup code is not utilized, the base relative (A4) addressing does not
work. If you are going to test it, use the data=faronly option to compile
the library and the programs.
If you are going to rebuild the library with SAS/C you will need to
reassign INCLUDE: to point to the local 'include' directory or things won't
work.
6. Conventions and design issues
You will have noticed the 330+ files in this directory. This is not the
best way to organize a runtime library, but at least all the bits and
pieces are in plain sight. Each file stands for the one or two routines it
contains. The name indicates what routine(s) that might be. Each file name
is prefixed by the name of the header file in which the corresponding
routine is defined. So, for example, you will find that "unistd_lchown.c"
contains the definition of the lchown() routine, which has its prototype
defined in the <unistd.h> header file.
Internal function and variable names are prefixed with two underscores, as
in '__stdio_init()'.
All routines attempt to do error checking on their parameters. They will
either drop into an assert() or set an errno value and refuse to go any
further. This cuts performance but should help to catch the simple bugs
quite easily (NULL pointers).
Just like any halfway sane Amiga 'C'<27>runtime library, this one performs its
^C checking in the I/O routines. Typically once upon entry and in every
iteration of the loop there might be it will quickly poll the ^C signal and
drop into raise(SIGINT) in case the signal is set. This is just about the
safest method to solve the problem and should be much more robust than the
ixemul approach of 'interrupt anywhere - crash anywhere' using the task
switch/launch hooks to test for signals.
By default all library routines follow the ISO 'C' conventions in that
where implementation defined behaviour is permitted, the AmigaOS rules are
followed. For example, unlink() will by default operate like DeleteFile()
and rename() will return with an error code set if the name of the
file/directory to be renamed would collide with an existing directory
entry. However, your program can set a global variable '__unix_semantics'
which will cause some routines to perform like their Unix counterparts.
This is necessary for Samba to work but not a generally desirable feature.
You have some Unix-like behaviour, but the environment itself is not
completely Unix- or POSIX-compliant. And it shouldn't be. Don't make the
mistake of trying to mold the environment into a POSIX emulation. It
doesn't work; AmigaOS is not Unix.
7. The startup code
There are three program startup files provided. The most simplistic is in
'startup.c' which I use for SAS/C. It just invokes the setup routine which
eventually calls main() and drops straight into exit().
The ncrt0.S file was adapted from the libnix startup code which sets up the
base relative data area, if necessary (the SMALL_DATA preprocessor symbol
must be defined).
The nrcrt0.S file was adapted from libnix startup code, too, and sets up
the base relative data area for programs to be made resident. Note that the
geta4() stub is missing here; it wouldn't work in a resident program
anyway.
The ncrt0.S and nrcrt0.S files are considerably smaller and less complex
than the libnix code they are based on. This is because in this library
design all the more complex tasks are performed in the stdlib_main.c file
rather than in assembly language.
8. Documentation
Well, you're reading it. There isn't anything much yet. You can consult the book
"'C' - A reference manual" and you could look at the Open Group's Single Unix
Specification at <http://www.opengroup.org/onlinepubs/007904975>.
9. Legal status
Because this library is in part based upon free software it would be uncourteous
not to make it free software itself. The BSD license would probably be
appropriate here.
The PowerPC math library is based in part on work by Sun Microsystems:
====================================================
Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
Developed at SunPro, a Sun Microsystems, Inc. business.
Permission to use, copy, modify, and distribute this
software is freely granted, provided that this notice
is preserved.
====================================================
10. Contacting the author
The basic work was done by Olaf Barthel during two weeks in July 2002. You
can reach me at:
Olaf Barthel
Gneisenaustr. 43
D-31275 Lehrte
Or via e-mail:
olsen@sourcery.han.de

View File

@ -1,5 +1,5 @@
# #
# $Id: GNUmakefile.68k,v 1.14 2004-11-13 12:55:39 obarthel Exp $ # $Id: GNUmakefile.68k,v 1.20 2005-01-14 09:07:16 obarthel Exp $
# #
# :ts=8 # :ts=8
# #
@ -99,14 +99,16 @@ endif
############################################################################## ##############################################################################
WARNINGS = \ WARNINGS = \
-Wall -W -Wshadow -Wpointer-arith -Wsign-compare -Wmissing-prototypes \ -Wall -W -Wpointer-arith -Wsign-compare -Wmissing-prototypes \
-Wundef -Wbad-function-cast -Wmissing-declarations -Wconversion -Wundef -Wbad-function-cast -Wmissing-declarations
# -Wconversion -Wshadow
INCLUDES = -Iinclude -I. -Inetinclude INCLUDES = -Iinclude -I. -Inetinclude
OPTIONS = -DNDEBUG -fno-builtin -DNO_INLINE_STDARG OPTIONS = -DNDEBUG -fno-builtin
#OPTIONS = -D__MEM_DEBUG -fno-builtin #OPTIONS = -D__MEM_DEBUG -fno-builtin
#OPTIONS = -DDEBUG -D__MEM_DEBUG -DNO_INLINE_STDARG -fno-builtin #OPTIONS = -DDEBUG -D__MEM_DEBUG -DNO_INLINE_STDARG -fno-builtin
OPTIMIZE = -O #OPTIMIZE = -O -fomit-frame-pointer -fstrength-reduce -finline-functions
#OPTIMIZE = -O2 -fomit-frame-pointer #OPTIMIZE = -O2 -fomit-frame-pointer
#DEBUG = -g2 #DEBUG = -g2
@ -286,6 +288,10 @@ C_LIB = \
stdlib_modsi3.o \ stdlib_modsi3.o \
stdlib_mulsi3.o \ stdlib_mulsi3.o \
stdlib_never_free.o \ stdlib_never_free.o \
stdlib_osliberror.o \
stdlib_oslibversion.o \
stdlib_priority.o \
stdlib_process_name.o \
stdlib_putenv.o \ stdlib_putenv.o \
stdlib_qsort.o \ stdlib_qsort.o \
stdlib_rand.o \ stdlib_rand.o \
@ -293,6 +299,7 @@ C_LIB = \
stdlib_red_black.o \ stdlib_red_black.o \
stdlib_setenv.o \ stdlib_setenv.o \
stdlib_setjmp.o \ stdlib_setjmp.o \
stdlib_set_process_window.o \
stdlib_shell_escape.o \ stdlib_shell_escape.o \
stdlib_showerror.o \ stdlib_showerror.o \
stdlib_socket.o \ stdlib_socket.o \
@ -318,6 +325,7 @@ C_LIB = \
stdlib_umodsi3.o \ stdlib_umodsi3.o \
stdlib_unsetenv.o \ stdlib_unsetenv.o \
stdlib_wildcard_expand.o \ stdlib_wildcard_expand.o \
stdlib_stdio_window_spec.o \
strings_strcasecmp.o \ strings_strcasecmp.o \
strings_strncasecmp.o \ strings_strncasecmp.o \
string_bcmp.o \ string_bcmp.o \
@ -338,6 +346,8 @@ C_LIB = \
string_strcspn.o \ string_strcspn.o \
string_strdup.o \ string_strdup.o \
string_strerror.o \ string_strerror.o \
string_strlcat.o \
string_strlcpy.o \
string_strlen.o \ string_strlen.o \
string_strncat.o \ string_strncat.o \
string_strncmp.o \ string_strncmp.o \
@ -347,15 +357,20 @@ C_LIB = \
string_strspn.o \ string_strspn.o \
string_strstr.o \ string_strstr.o \
string_strtok.o \ string_strtok.o \
string_strtok_r.o \
string_strxfrm.o \ string_strxfrm.o \
time_asctime.o \ time_asctime.o \
time_asctime_r.o \
time_clock.o \ time_clock.o \
time_converttime.o \ time_converttime.o \
time_ctime.o \ time_ctime.o \
time_ctime_r.o \
time_data.o \ time_data.o \
time_gettimeofday.o \ time_gettimeofday.o \
time_gmtime.o \ time_gmtime.o \
time_gmtime_r.o \
time_localtime.o \ time_localtime.o \
time_localtime_r.o \
time_mktime.o \ time_mktime.o \
time_numbertostring.o \ time_numbertostring.o \
time_strftime.o \ time_strftime.o \
@ -411,7 +426,6 @@ UNIX_LIB = \
stdio_fdhookentry.o \ stdio_fdhookentry.o \
stdio_fflush.o \ stdio_fflush.o \
stdio_fopen.o \ stdio_fopen.o \
stdio_fopen.o \
stdio_init_exit.o \ stdio_init_exit.o \
stdio_locksemaphorename.o \ stdio_locksemaphorename.o \
stdio_openiob.o \ stdio_openiob.o \
@ -420,7 +434,6 @@ UNIX_LIB = \
stdio_rename.o \ stdio_rename.o \
stdlib_mkdtemp.o \ stdlib_mkdtemp.o \
stdlib_mkstemp.o \ stdlib_mkstemp.o \
stdlib_mkstemp.o \
stdlib_mktemp.o \ stdlib_mktemp.o \
stdlib_system.o \ stdlib_system.o \
unistd_access.o \ unistd_access.o \
@ -677,16 +690,28 @@ AMIGA_LIB = \
amiga_newlist.o \ amiga_newlist.o \
amiga_rangerand.o \ amiga_rangerand.o \
amiga_remtof.o \ amiga_remtof.o \
amiga_rexxvars.o \
amiga_setsuperattrs.o \ amiga_setsuperattrs.o \
amiga_timedelay.o \ amiga_timedelay.o \
amiga_waitbeam.o amiga_waitbeam.o
MEMDEBUG_LIB = \
stdio_vasprintf_debug.o \
stdio_vasprintf_debug.o \
stdio_vasprintf_hook_entry_debug.o \
stdlib_alloca_debug.o \
stdlib_calloc_debug.o \
stdlib_free_debug.o \
stdlib_malloc_debug.o \
string_strdup_debug.o \
unistd_getcwd_debug.o
############################################################################## ##############################################################################
LIBS_68K := $(LIBC_OBJS)/libc.a $(LIBSTACK_OBJS)/libstack.a $(LIBUNIX_OBJS)/libunix.a \ LIBS_68K := $(LIBC_OBJS)/libc.a $(LIBSTACK_OBJS)/libstack.a $(LIBUNIX_OBJS)/libunix.a \
$(LIBNET_OBJS)/libnet.a $(LIBDEBUG_OBJS)/libdebug.a $(LIBAMIGA_OBJS)/libamiga.a \ $(LIBNET_OBJS)/libnet.a $(LIBDEBUG_OBJS)/libdebug.a $(LIBAMIGA_OBJS)/libamiga.a \
$(LIBM_OBJS)/libm.a $(LIBM_OBJS)/libm.a
LIBS_020 := $(LIBM881_OBJS)/libm881.a $(LIBS_68K) LIBS_020 := $(LIBM881_OBJS)/libm881.a $(LIBS_68K)
############################################################################## ##############################################################################
@ -882,6 +907,52 @@ $(LIBC_OBJS)/stdlib_red_black.o : stdlib_red_black.c stdlib_mem_debug.h
############################################################################## ##############################################################################
$(LIBC_OBJS)/stdlib_alloca_debug.o : stdlib_alloca.c
@echo "Compiling $< [$(TYPE):c debug]"
@$(CC) -o $(LIBC_OBJS)/stdlib_alloca_debug.o -c $(CFLAGS) -D__USE_MEM_TREES -D__MEM_DEBUG stdlib_alloca.c
$(LIBC_OBJS)/stdlib_calloc_debug.o : stdlib_calloc.c
@echo "Compiling $< [$(TYPE):c debug]"
@$(CC) -o $(LIBC_OBJS)/stdlib_calloc_debug.o -c $(CFLAGS) -D__USE_MEM_TREES -D__MEM_DEBUG stdlib_calloc.c
$(LIBC_OBJS)/stdlib_free_debug.o : stdlib_free.c
@echo "Compiling $< [$(TYPE):c debug]"
@$(CC) -o $(LIBC_OBJS)/stdlib_free_debug.o -c $(CFLAGS) -D__USE_MEM_TREES -D__MEM_DEBUG stdlib_free.c
$(LIBC_OBJS)/stdlib_malloc_debug.o : stdlib_malloc.c
@echo "Compiling $< [$(TYPE):c debug]"
@$(CC) -o $(LIBC_OBJS)/stdlib_malloc_debug.o -c $(CFLAGS) -D__USE_MEM_TREES -D__MEM_DEBUG stdlib_malloc.c
$(LIBC_OBJS)/stdlib_realloc_debug.o : stdlib_realloc.c
@echo "Compiling $< [$(TYPE):c debug]"
@$(CC) -o $(LIBC_OBJS)/stdlib_realloc_debug.o -c $(CFLAGS) -D__USE_MEM_TREES -D__MEM_DEBUG stdlib_realloc.c
$(LIBC_OBJS)/stdio_vasprintf_hook_entry_debug.o : stdio_vasprintf_hook_entry.c
@echo "Compiling $< [$(TYPE):c debug]"
@$(CC) -o $(LIBC_OBJS)/stdio_vasprintf_hook_entry_debug.o -c $(CFLAGS) -D__USE_MEM_TREES -D__MEM_DEBUG stdio_vasprintf_hook_entry.c
$(LIBC_OBJS)/stdio_vasprintf_debug.o : stdio_vasprintf.c
@echo "Compiling $< [$(TYPE):c debug]"
@$(CC) -o $(LIBC_OBJS)/stdio_vasprintf_debug.o -c $(CFLAGS) -D__USE_MEM_TREES -D__MEM_DEBUG stdio_vasprintf.c
$(LIBM_OBJS)/stdio_vasprintf_debug.o : stdio_vasprintf.c
@echo "Compiling $< [$(TYPE):m debug]"
@$(CC) -o $(LIBM_OBJS)/stdio_vasprintf_debug.o -c $(CFLAGS) -DIEEE_FLOATING_POINT_SUPPORT -D__USE_MEM_TREES -D__MEM_DEBUG stdio_vasprintf.c
$(LIBC_OBJS)/string_strdup_debug.o : string_strdup.c
@echo "Compiling $< [$(TYPE):c debug]"
@$(CC) -o $(LIBC_OBJS)/string_strdup_debug.o -c $(CFLAGS) -D__USE_MEM_TREES -D__MEM_DEBUG string_strdup.c
$(LIBC_OBJS)/unistd_getcwd_debug.o : unistd_getcwd.c
@echo "Compiling $< [$(TYPE):c debug]"
@$(CC) -o $(LIBC_OBJS)/unistd_getcwd_debug.o -c $(CFLAGS) -D__USE_MEM_TREES -D__MEM_DEBUG unistd_getcwd.c
$(LIBUNIX_OBJS)/unistd_getcwd_debug.o : unistd_getcwd.c
@echo "Compiling $< [$(TYPE):unix debug]"
@$(CC) -o $(LIBUNIX_OBJS)/unistd_getcwd_debug.o -c $(CFLAGS) -D__USE_MEM_TREES -D__MEM_DEBUG -DUNIX_PATH_SEMANTICS unistd_getcwd.c
##############################################################################
$(LIBC_OBJS) : $(LIBC_OBJS) :
$(MAKEDIR) $@ $(MAKEDIR) $@
@ -985,28 +1056,3 @@ mainb.o : stdlib_main.c
mainnb.o : stdlib_main.c mainnb.o : stdlib_main.c
$(CC) -o mainnb.o -c $(WARNINGS) $(OPTIMIZE) $(DEBUG) $(OPTIONS) $(INCLUDES) -m68000 stdlib_main.c $(CC) -o mainnb.o -c $(WARNINGS) $(OPTIMIZE) $(DEBUG) $(OPTIONS) $(INCLUDES) -m68000 stdlib_main.c
##############################################################################
#test: test.o ncrt0.o libc.a libunix.a libm.a libdebug.a libamiga.a
# $(CC) -Wl,--verbose $(CFLAGS) -DIEEE_FLOATING_POINT_SUPPORT \
# -o $@ -nostdlib ncrt0.o test.o -L. -lm -lunix -ldebug -lc -lamiga
#test: test.o ncrt0.o nbcrt0.o nrcrt0.o libc.a libunix.a libm.a libdebug.a libamiga.a
# $(CC) -resident -Wl,--verbose $(CFLAGS) -DIEEE_FLOATING_POINT_SUPPORT -fbaserel32 -DSMALL_DATA \
# -o $@ -nostdlib nbcrt0.o test.o -L. -lm -lunix -ldebug -lc -lamiga
test : test.c
gcc -o test test.c -D__MEM_DEBUG -DFLOATING_POINT_SUPPORT -Llib -lunix -lm
#test: test.o ncrt0.o nbcrt0.o nrcrt0.o libc.a libunix.a libm.a libdebug.a libamiga.a
# $(CC) -resident -Wl,--verbose $(CFLAGS) -DIEEE_FLOATING_POINT_SUPPORT -fbaserel -DSMALL_DATA \
# -o $@ -nostdlib nrcrt0.o test.o -L. -lm -lunix -ldebug -lc -lamiga
##############################################################################
mkid:
mkid -v #?.(c|h|asm|i) include/#?.(c|h|asm|i) include/sys/#?.(c|h|asm|i)
update:
mkid -v -u

View File

@ -1,5 +1,5 @@
# #
# $Id: GNUmakefile.os4,v 1.13 2004-11-13 12:55:39 obarthel Exp $ # $Id: GNUmakefile.os4,v 1.20 2005-01-10 00:56:15 theantony Exp $
# #
# :ts=8 # :ts=8
# #
@ -15,7 +15,7 @@ NET_INCLUDE = netinclude
CC = ppc-amigaos-gcc CC = ppc-amigaos-gcc
AR = ppc-amigaos-ar -q AR = ppc-amigaos-ar -q
RANLIB = ppc-amigaos-ranlib RANLIB = ppc-amigaos-ranlib
COPY = cp COPY = cp -a
DELETE = rm -r DELETE = rm -r
MAKEDIR = mkdir MAKEDIR = mkdir
@ -32,19 +32,19 @@ MAKE = make -f GNUmakefile.os4
############################################################################## ##############################################################################
ifeq (,$(TYPE)) ifeq (,$(TYPE))
LIBC_OBJS = libc_objs LIBC_OBJS = libc_objs
LIBUNIX_OBJS = libunix_objs LIBUNIX_OBJS = libunix_objs
LIBM_OBJS = libm_objs LIBM_OBJS = libm_objs
LIBNET_OBJS = libnet_objs LIBNET_OBJS = libnet_objs
LIBDEBUG_OBJS = libdebug_objs LIBDEBUG_OBJS = libdebug_objs
LIBAMIGA_OBJS = libamiga_objs LIBAMIGA_OBJS = libamiga_objs
else else
LIBC_OBJS = $(TYPE)/libc_objs LIBC_OBJS = $(TYPE)/libc_objs
LIBUNIX_OBJS = $(TYPE)/libunix_objs LIBUNIX_OBJS = $(TYPE)/libunix_objs
LIBM_OBJS = $(TYPE)/libm_objs LIBM_OBJS = $(TYPE)/libm_objs
LIBNET_OBJS = $(TYPE)/libnet_objs LIBNET_OBJS = $(TYPE)/libnet_objs
LIBDEBUG_OBJS = $(TYPE)/libdebug_objs LIBDEBUG_OBJS = $(TYPE)/libdebug_objs
LIBAMIGA_OBJS = $(TYPE)/libamiga_objs LIBAMIGA_OBJS = $(TYPE)/libamiga_objs
endif endif
############################################################################## ##############################################################################
@ -96,6 +96,12 @@ CODE_TYPE := -msdata=data -msoft-float
FLOAT_TYPE := FLOAT_TYPE :=
endif endif
ifeq (baserel,$(TYPE))
CODE_TYPE := -mbaserel -DBASEREL_DATA
FLOAT_TYPE := -DPPC_FLOATING_POINT_SUPPORT
endif
############################################################################## ##############################################################################
WARNINGS = \ WARNINGS = \
@ -103,7 +109,7 @@ WARNINGS = \
-Wundef -Wbad-function-cast -Wmissing-declarations -Wconversion -Wundef -Wbad-function-cast -Wmissing-declarations -Wconversion
INCLUDES = -Iinclude -I. -I$(SDK_INCLUDE) INCLUDES = -Iinclude -I. -I$(SDK_INCLUDE)
OPTIONS = -DNDEBUG -DUSE_64_BIT_INTS -fno-builtin -D__USE_INLINE__ -Wa,-mregnames OPTIONS = -DNDEBUG -DUSE_64_BIT_INTS -D__USE_INLINE__ -Wa,-mregnames
OPTIMIZE = -O -fomit-frame-pointer -funroll-loops OPTIMIZE = -O -fomit-frame-pointer -funroll-loops
#DEBUG = -g #DEBUG = -g
@ -284,6 +290,10 @@ C_LIB = \
stdlib_modsi3.o \ stdlib_modsi3.o \
stdlib_mulsi3.o \ stdlib_mulsi3.o \
stdlib_never_free.o \ stdlib_never_free.o \
stdlib_osliberror.o \
stdlib_oslibversion.o \
stdlib_priority.o \
stdlib_process_name.o \
stdlib_putenv.o \ stdlib_putenv.o \
stdlib_qsort.o \ stdlib_qsort.o \
stdlib_rand.o \ stdlib_rand.o \
@ -291,6 +301,7 @@ C_LIB = \
stdlib_red_black.o \ stdlib_red_black.o \
stdlib_setenv.o \ stdlib_setenv.o \
stdlib_setjmp.o \ stdlib_setjmp.o \
stdlib_set_process_window.o \
stdlib_shell_escape.o \ stdlib_shell_escape.o \
stdlib_showerror.o \ stdlib_showerror.o \
stdlib_socket.o \ stdlib_socket.o \
@ -316,6 +327,7 @@ C_LIB = \
stdlib_umodsi3.o \ stdlib_umodsi3.o \
stdlib_unsetenv.o \ stdlib_unsetenv.o \
stdlib_wildcard_expand.o \ stdlib_wildcard_expand.o \
stdlib_stdio_window_spec.o \
strings_strcasecmp.o \ strings_strcasecmp.o \
strings_strncasecmp.o \ strings_strncasecmp.o \
string_bcmp.o \ string_bcmp.o \
@ -336,6 +348,8 @@ C_LIB = \
string_strcspn.o \ string_strcspn.o \
string_strdup.o \ string_strdup.o \
string_strerror.o \ string_strerror.o \
string_strlcat.o \
string_strlcpy.o \
string_strlen.o \ string_strlen.o \
string_strncat.o \ string_strncat.o \
string_strncmp.o \ string_strncmp.o \
@ -345,15 +359,20 @@ C_LIB = \
string_strspn.o \ string_strspn.o \
string_strstr.o \ string_strstr.o \
string_strtok.o \ string_strtok.o \
string_strtok_r.o \
string_strxfrm.o \ string_strxfrm.o \
time_asctime.o \ time_asctime.o \
time_asctime_r.o \
time_clock.o \ time_clock.o \
time_converttime.o \ time_converttime.o \
time_ctime.o \ time_ctime.o \
time_ctime_r.o \
time_data.o \ time_data.o \
time_gettimeofday.o \ time_gettimeofday.o \
time_gmtime.o \ time_gmtime.o \
time_gmtime_r.o \
time_localtime.o \ time_localtime.o \
time_localtime_r.o \
time_mktime.o \ time_mktime.o \
time_numbertostring.o \ time_numbertostring.o \
time_strftime.o \ time_strftime.o \
@ -410,7 +429,6 @@ UNIX_LIB = \
stdio_fdhookentry.o \ stdio_fdhookentry.o \
stdio_fflush.o \ stdio_fflush.o \
stdio_fopen.o \ stdio_fopen.o \
stdio_fopen.o \
stdio_init_exit.o \ stdio_init_exit.o \
stdio_locksemaphorename.o \ stdio_locksemaphorename.o \
stdio_openiob.o \ stdio_openiob.o \
@ -419,7 +437,6 @@ UNIX_LIB = \
stdio_rename.o \ stdio_rename.o \
stdlib_mkdtemp.o \ stdlib_mkdtemp.o \
stdlib_mkstemp.o \ stdlib_mkstemp.o \
stdlib_mkstemp.o \
stdlib_mktemp.o \ stdlib_mktemp.o \
stdlib_system.o \ stdlib_system.o \
unistd_access.o \ unistd_access.o \
@ -638,10 +655,21 @@ AMIGA_LIB = \
amiga_newlist.o \ amiga_newlist.o \
amiga_rangerand.o \ amiga_rangerand.o \
amiga_remtof.o \ amiga_remtof.o \
amiga_rexxvars.o \
amiga_setsuperattrs.o \ amiga_setsuperattrs.o \
amiga_timedelay.o \ amiga_timedelay.o \
amiga_waitbeam.o amiga_waitbeam.o
MEMDEBUG_LIB = \
stdio_vasprintf_debug.o \
stdio_vasprintf_hook_entry_debug.o \
stdlib_alloca_debug.o \
stdlib_calloc_debug.o \
stdlib_free_debug.o \
stdlib_malloc_debug.o \
string_strdup_debug.o \
unistd_getcwd_debug.o
############################################################################## ##############################################################################
# The libraries to be built, prefixed by the respective path names # The libraries to be built, prefixed by the respective path names
@ -666,9 +694,11 @@ all: \
lib \ lib \
lib/soft-float \ lib/soft-float \
lib/small-data \ lib/small-data \
lib/baserel \
small_data \ small_data \
large_data \ large_data \
large_data_softfloat \ large_data_softfloat \
baserel \
lib/bcrt0.o \ lib/bcrt0.o \
lib/bcrtbegin.o \ lib/bcrtbegin.o \
lib/bcrtend.o \ lib/bcrtend.o \
@ -679,13 +709,19 @@ all: \
lib/mainnb.o \ lib/mainnb.o \
lib/libm.a \ lib/libm.a \
lib/small-data/libm.a \ lib/small-data/libm.a \
lib/soft-float/libm.a lib/soft-float/libm.a \
lib/baserel/crt0.o \
lib/baserel/crtbegin.o \
lib/baserel/crtend.o \
lib/baserel/mainb.o \
lib/baserel/mainnb.o \
lib/baserel/libm.a
############################################################################## ##############################################################################
# Delete all object files and libraries # Delete all object files and libraries
clean: clean:
-$(DELETE) $(STARTUPS) lib small_data large_data large_data_softfloat -$(DELETE) $(STARTUPS) lib small_data large_data large_data_softfloat baserel
############################################################################## ##############################################################################
@ -733,6 +769,9 @@ lib/small-data: lib
lib/soft-float: lib lib/soft-float: lib
-$(MAKEDIR) $@ -$(MAKEDIR) $@
lib/baserel: lib
-$(MAKEDIR) $@
small_data: small_data:
-$(MAKEDIR) $@ -$(MAKEDIR) $@
@ -742,6 +781,9 @@ large_data:
large_data_softfloat: large_data_softfloat:
-$(MAKEDIR) $@ -$(MAKEDIR) $@
baserel:
-$(MAKEDIR) $@
############################################################################## ##############################################################################
# Dependencies for libm.a (large data variant with hardware floating point code # Dependencies for libm.a (large data variant with hardware floating point code
@ -776,6 +818,16 @@ small_data/libm.a:
############################################################################## ##############################################################################
# Dependencies for libm.a (baserel variant)
lib/baserel/libm.a: baserel baserel/libm.a
baserel/libm.a:
$(MAKE) TYPE=baserel all_libraries
$(COPY) $(foreach file,$(LIBS),baserel/$(file)) lib/baserel
##############################################################################
# Rules to build and move the startup code # Rules to build and move the startup code
lib/crt0.o : lib crt0.o lib/crt0.o : lib crt0.o
$(COPY) crt0.o lib $(COPY) crt0.o lib
@ -801,6 +853,22 @@ lib/bcrtbegin.o : lib bcrtbegin.o
lib/bcrtend.o : lib bcrtend.o lib/bcrtend.o : lib bcrtend.o
$(COPY) bcrtend.o lib $(COPY) bcrtend.o lib
lib/baserel/crt0.o : lib baserel/crt0.o
$(COPY) baserel/crt0.o lib/baserel
lib/baserel/crtbegin.o : lib baserel/crtbegin.o
$(COPY) baserel/crtbegin.o lib/baserel
lib/baserel/crtend.o : lib baserel/crtend.o
$(COPY) baserel/crtend.o lib/baserel
lib/baserel/mainnb.o : lib baserel/mainnb.o
$(COPY) baserel/mainnb.o lib/baserel
lib/baserel/mainb.o : lib baserel/mainb.o
$(COPY) baserel/mainb.o lib/baserel
############################################################################## ##############################################################################
# Individual dependencies which tell make to build the object files from # Individual dependencies which tell make to build the object files from
@ -848,6 +916,54 @@ $(LIBC_OBJS)/stdlib_red_black.o : stdlib_red_black.c stdlib_mem_debug.h
############################################################################## ##############################################################################
# Peculiar build rules for the debug versions of memory allocation functions,
# or at least those which use memory allocation functionality.
$(LIBC_OBJS)/stdlib_alloca_debug.o : stdlib_alloca.c
@echo "Compiling $< [$(TYPE):c debug]"
@$(CC) -o $(LIBC_OBJS)/stdlib_alloca_debug.o -c $(CFLAGS) -D__USE_MEM_TREES -D__MEM_DEBUG stdlib_alloca.c
$(LIBC_OBJS)/stdlib_calloc_debug.o : stdlib_calloc.c
@echo "Compiling $< [$(TYPE):c debug]"
@$(CC) -o $(LIBC_OBJS)/stdlib_calloc_debug.o -c $(CFLAGS) -D__USE_MEM_TREES -D__MEM_DEBUG stdlib_calloc.c
$(LIBC_OBJS)/stdlib_free_debug.o : stdlib_free.c
@echo "Compiling $< [$(TYPE):c debug]"
@$(CC) -o $(LIBC_OBJS)/stdlib_free_debug.o -c $(CFLAGS) -D__USE_MEM_TREES -D__MEM_DEBUG stdlib_free.c
$(LIBC_OBJS)/stdlib_malloc_debug.o : stdlib_malloc.c
@echo "Compiling $< [$(TYPE):c debug]"
@$(CC) -o $(LIBC_OBJS)/stdlib_malloc_debug.o -c $(CFLAGS) -D__USE_MEM_TREES -D__MEM_DEBUG stdlib_malloc.c
$(LIBC_OBJS)/stdlib_realloc_debug.o : stdlib_realloc.c
@echo "Compiling $< [$(TYPE):c debug]"
@$(CC) -o $(LIBC_OBJS)/stdlib_realloc_debug.o -c $(CFLAGS) -D__USE_MEM_TREES -D__MEM_DEBUG stdlib_realloc.c
$(LIBC_OBJS)/stdio_vasprintf_hook_entry_debug.o : stdio_vasprintf_hook_entry.c
@echo "Compiling $< [$(TYPE):c debug]"
@$(CC) -o $(LIBC_OBJS)/stdio_vasprintf_hook_entry_debug.o -c $(CFLAGS) -D__USE_MEM_TREES -D__MEM_DEBUG stdio_vasprintf_hook_entry.c
$(LIBC_OBJS)/stdio_vasprintf_debug.o : stdio_vasprintf.c
@echo "Compiling $< [$(TYPE):c debug]"
@$(CC) -o $(LIBC_OBJS)/stdio_vasprintf_debug.o -c $(CFLAGS) -D__USE_MEM_TREES -D__MEM_DEBUG stdio_vasprintf.c
$(LIBM_OBJS)/stdio_vasprintf_debug.o : stdio_vasprintf.c
@echo "Compiling $< [$(TYPE):m debug]"
@$(CC) -o $(LIBM_OBJS)/stdio_vasprintf_debug.o -c $(CFLAGS) -D__USE_MEM_TREES -D__MEM_DEBUG $(FLOAT_TYPE) stdio_vasprintf.c
$(LIBC_OBJS)/string_strdup_debug.o : string_strdup.c
@echo "Compiling $< [$(TYPE):c debug]"
@$(CC) -o $(LIBC_OBJS)/string_strdup_debug.o -c $(CFLAGS) -D__USE_MEM_TREES -D__MEM_DEBUG string_strdup.c
$(LIBC_OBJS)/unistd_getcwd_debug.o : unistd_getcwd.c
@echo "Compiling $< [$(TYPE):c debug]"
@$(CC) -o $(LIBC_OBJS)/unistd_getcwd_debug.o -c $(CFLAGS) -D__USE_MEM_TREES -D__MEM_DEBUG unistd_getcwd.c
$(LIBUNIX_OBJS)/unistd_getcwd_debug.o : unistd_getcwd.c
@echo "Compiling $< [$(TYPE):unix debug]"
@$(CC) -o $(LIBUNIX_OBJS)/unistd_getcwd_debug.o -c $(CFLAGS) -D__USE_MEM_TREES -D__MEM_DEBUG -DUNIX_PATH_SEMANTICS unistd_getcwd.c
##############################################################################
# Individual build rules for libc.a # Individual build rules for libc.a
$(LIBC_OBJS) : $(LIBC_OBJS) :
$(MAKEDIR) $@ $(MAKEDIR) $@
@ -936,3 +1052,21 @@ bcrtbegin.o : crtbegin.c
bcrtend.o : crtend.c bcrtend.o : crtend.c
$(CC) -o bcrtend.o -c $(WARNINGS) $(OPTIMIZE) $(DEBUG) $(OPTIONS) $(INCLUDES) -msdata=sysv -DSMALL_DATA crtend.c $(CC) -o bcrtend.o -c $(WARNINGS) $(OPTIMIZE) $(DEBUG) $(OPTIONS) $(INCLUDES) -msdata=sysv -DSMALL_DATA crtend.c
baserel/crt0.o : crt0.S
@echo "Assembling $<"
@$(CC) -Wa,-mregnames -o baserel/crt0.o -mbaserel -DBASEREL_DATA -c crt0.S
baserel/mainnb.o : stdlib_main.c
@echo "Compiling $<"
@$(CC) -o baserel/mainnb.o -c $(WARNINGS) $(OPTIMIZE) $(DEBUG) $(OPTIONS) $(INCLUDES) -mbaserel -DBASEREL_DATA stdlib_main.c
baserel/mainb.o : stdlib_main.c
@echo "Compiling $<"
@$(CC) -o baserel/mainb.o -c $(WARNINGS) $(OPTIMIZE) $(DEBUG) $(OPTIONS) $(INCLUDES) -mbaserel -DBASEREL_DATA stdlib_main.c
baserel/crtbegin.o : crtbegin.c
$(CC) -o baserel/crtbegin.o -c $(WARNINGS) $(OPTIMIZE) $(DEBUG) $(OPTIONS) $(INCLUDES) -mbaserel -DBASEREL_DATA crtbegin.c
baserel/crtend.o : crtend.c
$(CC) -o baserel/crtend.o -c $(WARNINGS) $(OPTIMIZE) $(DEBUG) $(OPTIONS) $(INCLUDES) -mbaserel -DBASEREL_DATA crtend.c

View File

@ -1,10 +1,10 @@
/* /*
* $Id: amiga.lib_rev.c,v 1.1.1.1 2004-07-26 16:30:15 obarthel Exp $ * $Id: amiga.lib_rev.c,v 1.2 2005-01-02 09:07:06 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
* Portable ISO 'C' (1994) runtime library for the Amiga computer * Portable ISO 'C' (1994) runtime library for the Amiga computer
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de> * Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without

View File

@ -1,6 +1,6 @@
#define VERSION 1 #define VERSION 1
#define REVISION 183 #define REVISION 186
#define DATE "13.11.2004" #define DATE "14.1.2005"
#define VERS "amiga.lib 1.183" #define VERS "amiga.lib 1.186"
#define VSTRING "amiga.lib 1.183 (13.11.2004)\r\n" #define VSTRING "amiga.lib 1.186 (14.1.2005)\r\n"
#define VERSTAG "\0$VER: amiga.lib 1.183 (13.11.2004)" #define VERSTAG "\0$VER: amiga.lib 1.186 (14.1.2005)"

View File

@ -1 +1 @@
183 186

View File

@ -1,10 +1,10 @@
/* /*
* $Id: amiga_acrypt.c,v 1.1.1.1 2004-07-26 16:30:16 obarthel Exp $ * $Id: amiga_acrypt.c,v 1.2 2005-01-02 09:07:06 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
* Portable ISO 'C' (1994) runtime library for the Amiga computer * Portable ISO 'C' (1994) runtime library for the Amiga computer
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de> * Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without

View File

@ -1,10 +1,10 @@
/* /*
* $Id: amiga_addtof.c,v 1.1.1.1 2004-07-26 16:30:16 obarthel Exp $ * $Id: amiga_addtof.c,v 1.2 2005-01-02 09:07:06 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
* Portable ISO 'C' (1994) runtime library for the Amiga computer * Portable ISO 'C' (1994) runtime library for the Amiga computer
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de> * Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without

View File

@ -1,10 +1,10 @@
/* /*
* $Id: amiga_argarraydone.c,v 1.1.1.1 2004-07-26 16:30:16 obarthel Exp $ * $Id: amiga_argarraydone.c,v 1.2 2005-01-02 09:07:06 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
* Portable ISO 'C' (1994) runtime library for the Amiga computer * Portable ISO 'C' (1994) runtime library for the Amiga computer
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de> * Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without

View File

@ -1,10 +1,10 @@
/* /*
* $Id: amiga_argarrayinit.c,v 1.1.1.1 2004-07-26 16:30:16 obarthel Exp $ * $Id: amiga_argarrayinit.c,v 1.2 2005-01-02 09:07:06 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
* Portable ISO 'C' (1994) runtime library for the Amiga computer * Portable ISO 'C' (1994) runtime library for the Amiga computer
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de> * Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without

View File

@ -1,10 +1,10 @@
/* /*
* $Id: amiga_argint.c,v 1.1.1.1 2004-07-26 16:30:16 obarthel Exp $ * $Id: amiga_argint.c,v 1.2 2005-01-02 09:07:06 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
* Portable ISO 'C' (1994) runtime library for the Amiga computer * Portable ISO 'C' (1994) runtime library for the Amiga computer
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de> * Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without

View File

@ -1,10 +1,10 @@
/* /*
* $Id: amiga_argstring.c,v 1.1.1.1 2004-07-26 16:30:16 obarthel Exp $ * $Id: amiga_argstring.c,v 1.2 2005-01-02 09:07:06 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
* Portable ISO 'C' (1994) runtime library for the Amiga computer * Portable ISO 'C' (1994) runtime library for the Amiga computer
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de> * Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without

View File

@ -1,10 +1,10 @@
/* /*
* $Id: amiga_beginio.c,v 1.2 2004-11-13 12:55:39 obarthel Exp $ * $Id: amiga_beginio.c,v 1.3 2005-01-02 09:07:06 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
* Portable ISO 'C' (1994) runtime library for the Amiga computer * Portable ISO 'C' (1994) runtime library for the Amiga computer
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de> * Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without

View File

@ -1,10 +1,10 @@
/* /*
* $Id: amiga_callhook.c,v 1.1.1.1 2004-07-26 16:30:17 obarthel Exp $ * $Id: amiga_callhook.c,v 1.2 2005-01-02 09:07:06 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
* Portable ISO 'C' (1994) runtime library for the Amiga computer * Portable ISO 'C' (1994) runtime library for the Amiga computer
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de> * Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without

View File

@ -1,10 +1,10 @@
* *
* $Id: amiga_callhooka.asm,v 1.1.1.1 2004-07-26 16:30:17 obarthel Exp $ * $Id: amiga_callhooka.asm,v 1.2 2005-01-02 09:07:06 obarthel Exp $
* *
* :ts=8 * :ts=8
* *
* Portable ISO 'C' (1994) runtime library for the Amiga computer * Portable ISO 'C' (1994) runtime library for the Amiga computer
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de> * Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without

View File

@ -1,10 +1,10 @@
/* /*
* $Id: amiga_callhooka.c,v 1.1.1.1 2004-07-26 16:30:17 obarthel Exp $ * $Id: amiga_callhooka.c,v 1.2 2005-01-02 09:07:06 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
* Portable ISO 'C' (1994) runtime library for the Amiga computer * Portable ISO 'C' (1994) runtime library for the Amiga computer
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de> * Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without

View File

@ -1,10 +1,10 @@
/* /*
* $Id: amiga_coercemethod.c,v 1.1.1.1 2004-07-26 16:30:17 obarthel Exp $ * $Id: amiga_coercemethod.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
* Portable ISO 'C' (1994) runtime library for the Amiga computer * Portable ISO 'C' (1994) runtime library for the Amiga computer
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de> * Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without

View File

@ -1,10 +1,10 @@
/* /*
* $Id: amiga_createextio.c,v 1.2 2004-11-10 14:55:30 obarthel Exp $ * $Id: amiga_createextio.c,v 1.3 2005-01-02 09:07:07 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
* Portable ISO 'C' (1994) runtime library for the Amiga computer * Portable ISO 'C' (1994) runtime library for the Amiga computer
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de> * Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without

View File

@ -1,10 +1,10 @@
/* /*
* $Id: amiga_createport.c,v 1.2 2004-11-13 12:55:39 obarthel Exp $ * $Id: amiga_createport.c,v 1.3 2005-01-02 09:07:07 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
* Portable ISO 'C' (1994) runtime library for the Amiga computer * Portable ISO 'C' (1994) runtime library for the Amiga computer
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de> * Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without

View File

@ -1,10 +1,10 @@
/* /*
* $Id: amiga_createstdio.c,v 1.2 2004-11-10 14:55:30 obarthel Exp $ * $Id: amiga_createstdio.c,v 1.3 2005-01-02 09:07:07 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
* Portable ISO 'C' (1994) runtime library for the Amiga computer * Portable ISO 'C' (1994) runtime library for the Amiga computer
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de> * Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without

View File

@ -1,10 +1,10 @@
/* /*
* $Id: amiga_createtask.c,v 1.2 2004-11-13 12:55:39 obarthel Exp $ * $Id: amiga_createtask.c,v 1.3 2005-01-02 09:07:07 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
* Portable ISO 'C' (1994) runtime library for the Amiga computer * Portable ISO 'C' (1994) runtime library for the Amiga computer
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de> * Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without

View File

@ -1,10 +1,10 @@
/* /*
* $Id: amiga_deleteextio.c,v 1.2 2004-11-10 14:55:30 obarthel Exp $ * $Id: amiga_deleteextio.c,v 1.3 2005-01-02 09:07:07 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
* Portable ISO 'C' (1994) runtime library for the Amiga computer * Portable ISO 'C' (1994) runtime library for the Amiga computer
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de> * Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without

View File

@ -1,10 +1,10 @@
/* /*
* $Id: amiga_deleteport.c,v 1.2 2004-11-13 12:55:39 obarthel Exp $ * $Id: amiga_deleteport.c,v 1.3 2005-01-02 09:07:07 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
* Portable ISO 'C' (1994) runtime library for the Amiga computer * Portable ISO 'C' (1994) runtime library for the Amiga computer
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de> * Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without

View File

@ -1,10 +1,10 @@
/* /*
* $Id: amiga_deletestdio.c,v 1.2 2004-11-10 14:55:30 obarthel Exp $ * $Id: amiga_deletestdio.c,v 1.3 2005-01-02 09:07:07 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
* Portable ISO 'C' (1994) runtime library for the Amiga computer * Portable ISO 'C' (1994) runtime library for the Amiga computer
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de> * Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without

View File

@ -1,10 +1,10 @@
/* /*
* $Id: amiga_deletetask.c,v 1.2 2004-11-13 12:55:39 obarthel Exp $ * $Id: amiga_deletetask.c,v 1.3 2005-01-02 09:07:07 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
* Portable ISO 'C' (1994) runtime library for the Amiga computer * Portable ISO 'C' (1994) runtime library for the Amiga computer
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de> * Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without

View File

@ -1,10 +1,10 @@
/* /*
* $Id: amiga_domethod.c,v 1.1.1.1 2004-07-26 16:30:19 obarthel Exp $ * $Id: amiga_domethod.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
* Portable ISO 'C' (1994) runtime library for the Amiga computer * Portable ISO 'C' (1994) runtime library for the Amiga computer
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de> * Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without

View File

@ -1,10 +1,10 @@
/* /*
* $Id: amiga_dosupermethod.c,v 1.1.1.1 2004-07-26 16:30:19 obarthel Exp $ * $Id: amiga_dosupermethod.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
* Portable ISO 'C' (1994) runtime library for the Amiga computer * Portable ISO 'C' (1994) runtime library for the Amiga computer
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de> * Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without

View File

@ -1,10 +1,10 @@
/* /*
* $Id: amiga_dotimer.c,v 1.1.1.1 2004-07-26 16:30:19 obarthel Exp $ * $Id: amiga_dotimer.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
* Portable ISO 'C' (1994) runtime library for the Amiga computer * Portable ISO 'C' (1994) runtime library for the Amiga computer
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de> * Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without

View File

@ -1,10 +1,10 @@
/* /*
* $Id: amiga_fastrand.c,v 1.1.1.1 2004-07-26 16:30:20 obarthel Exp $ * $Id: amiga_fastrand.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
* Portable ISO 'C' (1994) runtime library for the Amiga computer * Portable ISO 'C' (1994) runtime library for the Amiga computer
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de> * Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without

View File

@ -1,10 +1,10 @@
/* /*
* $Id: amiga_freeievents.c,v 1.1.1.1 2004-07-26 16:30:20 obarthel Exp $ * $Id: amiga_freeievents.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
* Portable ISO 'C' (1994) runtime library for the Amiga computer * Portable ISO 'C' (1994) runtime library for the Amiga computer
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de> * Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without

View File

@ -1,10 +1,10 @@
* *
* $Id: amiga_hookentry.asm,v 1.1.1.1 2004-07-26 16:30:20 obarthel Exp $ * $Id: amiga_hookentry.asm,v 1.2 2005-01-02 09:07:07 obarthel Exp $
* *
* :ts=8 * :ts=8
* *
* Portable ISO 'C' (1994) runtime library for the Amiga computer * Portable ISO 'C' (1994) runtime library for the Amiga computer
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de> * Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without

View File

@ -1,10 +1,10 @@
/* /*
* $Id: amiga_hookentry.c,v 1.1.1.1 2004-07-26 16:30:20 obarthel Exp $ * $Id: amiga_hookentry.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
* Portable ISO 'C' (1994) runtime library for the Amiga computer * Portable ISO 'C' (1994) runtime library for the Amiga computer
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de> * Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without

View File

@ -1,10 +1,10 @@
/* /*
* $Id: amiga_hotkey.c,v 1.1.1.1 2004-07-26 16:30:20 obarthel Exp $ * $Id: amiga_hotkey.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
* Portable ISO 'C' (1994) runtime library for the Amiga computer * Portable ISO 'C' (1994) runtime library for the Amiga computer
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de> * Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without

View File

@ -1,10 +1,10 @@
/* /*
* $Id: amiga_invertstring.c,v 1.1.1.1 2004-07-26 16:30:20 obarthel Exp $ * $Id: amiga_invertstring.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
* Portable ISO 'C' (1994) runtime library for the Amiga computer * Portable ISO 'C' (1994) runtime library for the Amiga computer
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de> * Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without

View File

@ -1,10 +1,10 @@
/* /*
* $Id: amiga_newlist.c,v 1.1.1.1 2004-07-26 16:30:21 obarthel Exp $ * $Id: amiga_newlist.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
* Portable ISO 'C' (1994) runtime library for the Amiga computer * Portable ISO 'C' (1994) runtime library for the Amiga computer
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de> * Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without

View File

@ -1,10 +1,10 @@
/* /*
* $Id: amiga_rangerand.c,v 1.1.1.1 2004-07-26 16:30:21 obarthel Exp $ * $Id: amiga_rangerand.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
* Portable ISO 'C' (1994) runtime library for the Amiga computer * Portable ISO 'C' (1994) runtime library for the Amiga computer
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de> * Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without

View File

@ -1,10 +1,10 @@
/* /*
* $Id: amiga_remtof.c,v 1.1.1.1 2004-07-26 16:30:21 obarthel Exp $ * $Id: amiga_remtof.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
* Portable ISO 'C' (1994) runtime library for the Amiga computer * Portable ISO 'C' (1994) runtime library for the Amiga computer
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de> * Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without

193
library/amiga_rexxvars.c Normal file
View File

@ -0,0 +1,193 @@
/*
* $Id: amiga_rexxvars.c,v 1.3 2005-01-09 10:10:40 obarthel Exp $
*
* :ts=4
*
* Portable ISO 'C' (1994) runtime library for the Amiga computer
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* - Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* - Neither the name of Olaf Barthel nor the names of contributors
* may be used to endorse or promote products derived from this
* software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*/
/* We don't want to pull in <clib/alib_protos.h> */
#define CLIB_ALIB_PROTOS_H
#ifndef _STDLIB_HEADERS_H
#include "stdlib_headers.h"
#endif /* _STDLIB_HEADERS_H */
/****************************************************************************/
#include <rexx/rxslib.h>
#include <rexx/errors.h>
/****************************************************************************/
#define __NOLIBBASE__
#include <proto/rexxsyslib.h>
/****************************************************************************/
static struct Library * RexxSysBase;
/****************************************************************************/
#if defined(__amigaos4__)
static struct RexxSysIFace * IRexxSys;
#endif /* __amigaos4__ */
/****************************************************************************/
CLIB_CONSTRUCTOR(__rexxvars_init)
{
ENTER();
RexxSysBase = OpenLibrary(RXSNAME,0);
#if defined(__amigaos4__)
{
if(RexxSysBase != NULL)
{
IRexxSys = (struct RexxSysIFace *)GetInterface(RexxSysBase, "main", 1, 0);
if(IRexxSys == NULL)
{
CloseLibrary(RexxSysBase);
RexxSysBase = NULL;
}
}
}
#endif /* __amigaos4__ */
CONSTRUCTOR_SUCCEED();
}
/****************************************************************************/
CLIB_DESTRUCTOR(__rexxvars_exit)
{
ENTER();
#if defined(__amigaos4__)
{
if(IRexxSys != NULL)
DropInterface((struct Interface *)IRexxSys);
IRexxSys = NULL;
}
#endif /* __amigaos4__ */
if(RexxSysBase != NULL)
{
CloseLibrary(RexxSysBase);
RexxSysBase = NULL;
}
LEAVE();
}
/****************************************************************************/
/* This is modeled after the original assembly language code. Except for the
fact that we compare the library base against a local, static variable
rather then opening the library for each check. */
BOOL
CheckRexxMsg(struct RexxMsg *message)
{
BOOL result = FALSE;
if(RexxSysBase == NULL)
goto out;
if(message->rm_LibBase != RexxSysBase)
goto out;
if(message->rm_TaskBlock == NULL)
goto out;
if(NOT IsRexxMsg(message))
goto out;
result = TRUE;
out:
return(result);
}
/****************************************************************************/
/* The following function works in about like the original, except that it's
not reentrant, does not fill in a pointer to the variable itself and
requires rexxsyslib.library V45. */
LONG
GetRexxVar(struct RexxMsg *message,STRPTR variable_name,STRPTR *buffer_pointer)
{
static UBYTE buffer[256];
LONG result;
/* The following uses a function which was added to rexxsyslib.library V45.
We therefore have a minimum library version requirement. */
if(RexxSysBase == NULL || RexxSysBase->lib_Version < 45 || NOT IsRexxMsg(message))
{
result = ERR10_010; /* invalid message packet */
goto out;
}
/* The 256 character limit isn't good. This should be done differently. */
result = GetRexxVarFromMsg(variable_name,buffer,message);
if(result != 0)
goto out;
(*buffer_pointer) = buffer;
out:
return(result);
}
/****************************************************************************/
/* The following function works in about like the original, except that it
ignores the length parameter (the value needs to be a NUL-terminated string)
and requires rexxsyslib.library V45. */
LONG
SetRexxVar(struct RexxMsg *message,STRPTR variable_name,STRPTR value,ULONG length)
{
LONG result;
/* The following uses a function which was added to rexxsyslib.library V45.
We therefore have a minimum library version requirement. */
if(RexxSysBase == NULL || RexxSysBase->lib_Version < 45 || NOT IsRexxMsg(message))
{
result = ERR10_010; /* invalid message packet */
goto out;
}
result = SetRexxVarFromMsg(variable_name,value,message);
out:
return(result);
}

View File

@ -1,10 +1,10 @@
/* /*
* $Id: amiga_setsuperattrs.c,v 1.1.1.1 2004-07-26 16:30:21 obarthel Exp $ * $Id: amiga_setsuperattrs.c,v 1.3 2005-01-09 10:10:41 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
* Portable ISO 'C' (1994) runtime library for the Amiga computer * Portable ISO 'C' (1994) runtime library for the Amiga computer
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de> * Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
@ -46,7 +46,7 @@
/****************************************************************************/ /****************************************************************************/
STATIC ULONG static ULONG
SetSuperAttrsA(Class * cl,Object * obj,struct TagItem * tags) SetSuperAttrsA(Class * cl,Object * obj,struct TagItem * tags)
{ {
ULONG result = 0; ULONG result = 0;

View File

@ -1,10 +1,10 @@
/* /*
* $Id: amiga_timedelay.c,v 1.1.1.1 2004-07-26 16:30:21 obarthel Exp $ * $Id: amiga_timedelay.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
* Portable ISO 'C' (1994) runtime library for the Amiga computer * Portable ISO 'C' (1994) runtime library for the Amiga computer
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de> * Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without

View File

@ -1,10 +1,10 @@
/* /*
* $Id: amiga_waitbeam.c,v 1.1.1.1 2004-07-26 16:30:22 obarthel Exp $ * $Id: amiga_waitbeam.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
* Portable ISO 'C' (1994) runtime library for the Amiga computer * Portable ISO 'C' (1994) runtime library for the Amiga computer
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de> * Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without

View File

@ -1,10 +1,10 @@
/* /*
* $Id: c.lib_rev.c,v 1.1.1.1 2004-07-26 16:30:22 obarthel Exp $ * $Id: c.lib_rev.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
* Portable ISO 'C' (1994) runtime library for the Amiga computer * Portable ISO 'C' (1994) runtime library for the Amiga computer
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de> * Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without

View File

@ -1,6 +1,6 @@
#define VERSION 1 #define VERSION 1
#define REVISION 183 #define REVISION 186
#define DATE "13.11.2004" #define DATE "14.1.2005"
#define VERS "c.lib 1.183" #define VERS "c.lib 1.186"
#define VSTRING "c.lib 1.183 (13.11.2004)\r\n" #define VSTRING "c.lib 1.186 (14.1.2005)\r\n"
#define VERSTAG "\0$VER: c.lib 1.183 (13.11.2004)" #define VERSTAG "\0$VER: c.lib 1.186 (14.1.2005)"

View File

@ -1 +1 @@
183 186

View File

@ -1,3 +1,152 @@
c.lib 1.186 (14.1.2005)
- Redirecting stderr to a file no longer has the effect of showing error
messages and assertion failure notifications as requesters. The exception
is in redirecting stderr to NIL: which will prompt the requester use.
- gettimeofday() now calls GetSysTime() rather than DateStamp() to obtain
the current system time. This resolves granularity issues since the
DateStamp() result was only accurate by 1/50 of a second.
- The "ptrdiff_t" definition in <stddef.h> now defaults to type 'int' rather
than 'long int'.
- The "char" limits in <limits.h> are now set up according to the current
compiler settings, which can either default to an unsigned or
signed definition.
- Changed the rules again for the use of stderr/stdout redirection when
printing error messages. It is always safe to redirect them now and
no requester will appear unless you specifically set the value of the
"__no_standard_io" variable to TRUE in your program.
- Removed a misplaced IsInteractive() from the stdio initialization
function. Now this could have been big trouble...
- Removed tests for FileHandle->fh_Type != NULL which used to precede
all IsInterative() tests. I verified that IsInteractive() will always
return FALSE for NIL: type file handles.
- Dropped the special flag variable used by the abort() function that
tracks whether or not console output is possible. We now use the
global "__no_standard_io" instead.
- Made the <ctype.h> macros more robust.
- Removed the "NIL:" file handle tests preceding the Open("CONSOLE:",..)
calls. As of Kickstart 2.x and beyond these are no longer a source of
trouble.
- The V37/V40 compatibility code is no longer built for the AmigaOS4
version of the library.
- Switched over the last use of DeviceProc() to GetDeviceProc(), etc.
- open() no longer examines a file after opening it in order to figure
out whether read/write accesses are permitted. This decision is now
for the file system to make.
- Whether or not stdio console streams are blocking or non-blocking
is now determined at initialization time. The I/O mode is restored before
the program exits. Previously, any changes to the I/O mode would persist.
- Lost some more code that is not required for AmigaOS 4.x and can be
handled conveniently through conditional compilation.
- close() did not reset the non-blocking file property, as it should
have. This only worked for files which were closed anyway, but not
for the stdio streams. Fixed.
- Added a missing definition to stdio_init_exit.c which is part of
the OS4 header files, but not of the older header file distributions.
c.lib 1.185 (2.1.2005)
- Moved the environment variable cleanup code into a destructor function.
- Fixed a typo in the hstrerror() function.
- The common error reporting function __show_error() could throw Enforcer
hits if the program was not launched from Shell. Fixed.
- Moved the memory initialization and cleanup functions into the
malloc/free code itself and updated the alloca code to do its
own data management.
- Finally optimized the alloca() memory cleanup code.
- Tried to make it possible to have debug versions of the memory
management code in the default link library along with the
normal versions. Let's see how well this works out in the GCC
version. SAS/C does not seem to like it...
- Changed the definition of alloca() for GCC, which now defaults
to the built-in function.
- Updated the stdio.h, stdlib.h, string.h and unistd.h header files
to declare function prototypes for the __MEM_DEBUG versions of the
library functions only if that preprocessor symbol is defined.
- If a SIGINT signal is caught and processed by the default signal
handler, the localized "*** BREAK" string will be printed rather
than the built-in one.
- The data structure alignment (file I/O buffer) is now configurable
at compile time. The default used to be 16 bytes, which is appropriate
for the 68040/68060 but not for the PowerPC, which uses 32 or 128
bytes per cache line.
- fwrite() now flushes the entire "buffer" for unbuffered files. The
exception are "interactive" files such as console windows. For these
line buffered output is used.
- Whether or not a file is bound to an interactive device, such as a
console window, is now checked and remembered after a file descriptor
has been associated with it.
c.lib 1.184 (28.11.2004)
- Added asctime_r(), ctime_r(), gmtime_r(), localtime_r() and strtok_r().
- Added stubs for the Rexx Variables Interface code that used to
be part of amiga.lib. While comparable functionality is available
in rexxsyslib.library V45, the new stubs might be helpful during
porting. Care must be taken since these functions don't work
exactly like the originals.
- Integrated strlcpy() and strlcat() which are intended to be safer
replacements for strncpy() and strncat().
- The program's task priority is now configurable through an external
variable '__priority'.
- The process name to be used when detaching can be configured through
the new '__process_name' variable.
- The minimum required operating system version can be configured
through the new '__minimum_os_lib_version' variable; a matching
error message can be provided through the new '__minimum_os_lib_error'
variable.
- The default console window specification can be overriden through
the new '__stdio_window_specification' variable.
- The socket initialization code did not set up a reference to the
'h_errno' variable correctly. This had the effect of making name
and address resolution errors trash the 'errno' variable instead
and leaving 'h_errno' always set to 0. Fixed.
- For sockets, ioctl() and fcntl() now interact on the FIONBIO/FIOASYNC
requests (ioctl) and the O_NOBLOCK/O_ASYNC flags (fcntl).
- popen() now accepts "rb" and "wb" as mode parameters. However, "r+",
"w+" and variants thereof are still unsupported due to the
unidirectional pipe support in the standard "PIPE:" device.
c.lib 1.183 (13.11.2004) c.lib 1.183 (13.11.2004)
- Cleaned up the OS4 build makefile, losing redundant libraries, - Cleaned up the OS4 build makefile, losing redundant libraries,

View File

@ -1,5 +1,5 @@
// //
// $Id: crt0.S,v 1.1.1.1 2004-07-26 16:30:22 obarthel Exp $ // $Id: crt0.S,v 1.2 2004-11-28 12:31:27 tfrieden Exp $
// //
// :ts=4 // :ts=4
// //
@ -18,5 +18,23 @@ _start:
addi r13, r13, _SDA_BASE_@l addi r13, r13, _SDA_BASE_@l
#endif #endif
#if defined(BASEREL_DATA)
/* We also need to set up the data segment pointer */
lis r2, _DATA_BASE_@ha
addi r2, r2, _DATA_BASE_@l
#endif
b _main b _main
#if defined(BASEREL_DATA)
.section .rodata
.globl __data_segment_descriptor
__data_segment_descriptor:
.long __data_start
.long __data_end
.long _DATA_BASE_
.section .dend, "wa", @nobits
.space 4
#endif

View File

@ -1,10 +1,10 @@
/* /*
* $Id: ctype_headers.h,v 1.1.1.1 2004-07-26 16:30:22 obarthel Exp $ * $Id: ctype_headers.h,v 1.2 2005-01-02 09:07:07 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
* Portable ISO 'C' (1994) runtime library for the Amiga computer * Portable ISO 'C' (1994) runtime library for the Amiga computer
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de> * Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without

View File

@ -1,10 +1,10 @@
/* /*
* $Id: ctype_isalnum.c,v 1.1.1.1 2004-07-26 16:30:22 obarthel Exp $ * $Id: ctype_isalnum.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
* Portable ISO 'C' (1994) runtime library for the Amiga computer * Portable ISO 'C' (1994) runtime library for the Amiga computer
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de> * Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without

View File

@ -1,10 +1,10 @@
/* /*
* $Id: ctype_isalpha.c,v 1.1.1.1 2004-07-26 16:30:22 obarthel Exp $ * $Id: ctype_isalpha.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
* Portable ISO 'C' (1994) runtime library for the Amiga computer * Portable ISO 'C' (1994) runtime library for the Amiga computer
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de> * Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without

View File

@ -1,10 +1,10 @@
/* /*
* $Id: ctype_isascii.c,v 1.1.1.1 2004-07-26 16:30:22 obarthel Exp $ * $Id: ctype_isascii.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
* Portable ISO 'C' (1994) runtime library for the Amiga computer * Portable ISO 'C' (1994) runtime library for the Amiga computer
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de> * Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without

View File

@ -1,10 +1,10 @@
/* /*
* $Id: ctype_iscntrl.c,v 1.1.1.1 2004-07-26 16:30:23 obarthel Exp $ * $Id: ctype_iscntrl.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
* Portable ISO 'C' (1994) runtime library for the Amiga computer * Portable ISO 'C' (1994) runtime library for the Amiga computer
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de> * Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without

View File

@ -1,10 +1,10 @@
/* /*
* $Id: ctype_isdigit.c,v 1.1.1.1 2004-07-26 16:30:23 obarthel Exp $ * $Id: ctype_isdigit.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
* Portable ISO 'C' (1994) runtime library for the Amiga computer * Portable ISO 'C' (1994) runtime library for the Amiga computer
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de> * Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without

View File

@ -1,10 +1,10 @@
/* /*
* $Id: ctype_isgraph.c,v 1.1.1.1 2004-07-26 16:30:23 obarthel Exp $ * $Id: ctype_isgraph.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
* Portable ISO 'C' (1994) runtime library for the Amiga computer * Portable ISO 'C' (1994) runtime library for the Amiga computer
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de> * Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without

View File

@ -1,10 +1,10 @@
/* /*
* $Id: ctype_islower.c,v 1.1.1.1 2004-07-26 16:30:23 obarthel Exp $ * $Id: ctype_islower.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
* Portable ISO 'C' (1994) runtime library for the Amiga computer * Portable ISO 'C' (1994) runtime library for the Amiga computer
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de> * Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without

View File

@ -1,10 +1,10 @@
/* /*
* $Id: ctype_isprint.c,v 1.1.1.1 2004-07-26 16:30:23 obarthel Exp $ * $Id: ctype_isprint.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
* Portable ISO 'C' (1994) runtime library for the Amiga computer * Portable ISO 'C' (1994) runtime library for the Amiga computer
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de> * Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without

View File

@ -1,10 +1,10 @@
/* /*
* $Id: ctype_ispunct.c,v 1.1.1.1 2004-07-26 16:30:23 obarthel Exp $ * $Id: ctype_ispunct.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
* Portable ISO 'C' (1994) runtime library for the Amiga computer * Portable ISO 'C' (1994) runtime library for the Amiga computer
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de> * Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without

View File

@ -1,10 +1,10 @@
/* /*
* $Id: ctype_isspace.c,v 1.1.1.1 2004-07-26 16:30:23 obarthel Exp $ * $Id: ctype_isspace.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
* Portable ISO 'C' (1994) runtime library for the Amiga computer * Portable ISO 'C' (1994) runtime library for the Amiga computer
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de> * Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without

View File

@ -1,10 +1,10 @@
/* /*
* $Id: ctype_isupper.c,v 1.1.1.1 2004-07-26 16:30:24 obarthel Exp $ * $Id: ctype_isupper.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
* Portable ISO 'C' (1994) runtime library for the Amiga computer * Portable ISO 'C' (1994) runtime library for the Amiga computer
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de> * Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without

View File

@ -1,10 +1,10 @@
/* /*
* $Id: ctype_isxdigit.c,v 1.1.1.1 2004-07-26 16:30:24 obarthel Exp $ * $Id: ctype_isxdigit.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
* Portable ISO 'C' (1994) runtime library for the Amiga computer * Portable ISO 'C' (1994) runtime library for the Amiga computer
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de> * Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without

View File

@ -1,10 +1,10 @@
/* /*
* $Id: ctype_table.c,v 1.1.1.1 2004-07-26 16:30:24 obarthel Exp $ * $Id: ctype_table.c,v 1.3 2005-01-09 15:20:31 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
* Portable ISO 'C' (1994) runtime library for the Amiga computer * Portable ISO 'C' (1994) runtime library for the Amiga computer
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de> * Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
@ -36,22 +36,8 @@
/****************************************************************************/ /****************************************************************************/
/* The construction of this table is rather peculiar. The assumption is that const unsigned char __ctype_table[2 * 128] =
the table index from which a flag value could be fetched is in the range
-128..255 since the character to be tested could be a signed or unsigned
8 bit value. The table access pointer (declared below) therefore points
to the 128th byte of '__ctype_data[]'. */
static const unsigned char __ctype_data[3 * 128] =
{ {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0 */ __CTYPE_CONTROL, /* 0 */ __CTYPE_CONTROL,
/* 1 */ __CTYPE_CONTROL, /* 1 */ __CTYPE_CONTROL,
/* 2 */ __CTYPE_CONTROL, /* 2 */ __CTYPE_CONTROL,
@ -190,7 +176,3 @@ static const unsigned char __ctype_data[3 * 128] =
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
}; };
/****************************************************************************/
const unsigned char * const __ctype_table = &__ctype_data[128];

View File

@ -1,10 +1,10 @@
/* /*
* $Id: ctype_tolower.c,v 1.1.1.1 2004-07-26 16:30:25 obarthel Exp $ * $Id: ctype_tolower.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
* Portable ISO 'C' (1994) runtime library for the Amiga computer * Portable ISO 'C' (1994) runtime library for the Amiga computer
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de> * Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without

View File

@ -1,10 +1,10 @@
/* /*
* $Id: ctype_toupper.c,v 1.1.1.1 2004-07-26 16:30:25 obarthel Exp $ * $Id: ctype_toupper.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
* Portable ISO 'C' (1994) runtime library for the Amiga computer * Portable ISO 'C' (1994) runtime library for the Amiga computer
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de> * Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without

View File

@ -1,10 +1,10 @@
/* /*
* $Id: debug.c,v 1.1.1.1 2004-07-26 16:30:25 obarthel Exp $ * $Id: debug.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
* *
* :ts=8 * :ts=8
* *
* Portable ISO 'C' (1994) runtime library for the Amiga computer * Portable ISO 'C' (1994) runtime library for the Amiga computer
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de> * Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without

View File

@ -1,10 +1,10 @@
/* /*
* $Id: debug.h,v 1.1.1.1 2004-07-26 16:30:26 obarthel Exp $ * $Id: debug.h,v 1.3 2005-01-02 09:07:07 obarthel Exp $
* *
* :ts=8 * :ts=8
* *
* Portable ISO 'C' (1994) runtime library for the Amiga computer * Portable ISO 'C' (1994) runtime library for the Amiga computer
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de> * Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
@ -57,9 +57,17 @@
/****************************************************************************/ /****************************************************************************/
#ifndef _STDLIB_H
#include <stdlib.h>
#endif /* _STDLIB_H */
#ifndef _DOS_H
#include <dos.h>
#endif /* _DOS_H */
/****************************************************************************/
extern void kprintf(const char *format,...); extern void kprintf(const char *format,...);
extern void abort(void);
extern char * __program_name;
/****************************************************************************/ /****************************************************************************/

View File

@ -1,10 +1,10 @@
/* /*
* $Id: debug.lib_rev.c,v 1.1.1.1 2004-07-26 16:30:26 obarthel Exp $ * $Id: debug.lib_rev.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
* Portable ISO 'C' (1994) runtime library for the Amiga computer * Portable ISO 'C' (1994) runtime library for the Amiga computer
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de> * Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without

View File

@ -1,6 +1,6 @@
#define VERSION 1 #define VERSION 1
#define REVISION 183 #define REVISION 186
#define DATE "13.11.2004" #define DATE "14.1.2005"
#define VERS "debug.lib 1.183" #define VERS "debug.lib 1.186"
#define VSTRING "debug.lib 1.183 (13.11.2004)\r\n" #define VSTRING "debug.lib 1.186 (14.1.2005)\r\n"
#define VERSTAG "\0$VER: debug.lib 1.183 (13.11.2004)" #define VERSTAG "\0$VER: debug.lib 1.186 (14.1.2005)"

View File

@ -1 +1 @@
183 186

View File

@ -1,10 +1,10 @@
/* /*
* $Id: debug_cmpstrexec.c,v 1.1.1.1 2004-07-26 16:30:26 obarthel Exp $ * $Id: debug_cmpstrexec.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
* Portable ISO 'C' (1994) runtime library for the Amiga computer * Portable ISO 'C' (1994) runtime library for the Amiga computer
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de> * Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without

View File

@ -1,10 +1,10 @@
/* /*
* $Id: debug_headers.h,v 1.1.1.1 2004-07-26 16:30:27 obarthel Exp $ * $Id: debug_headers.h,v 1.2 2005-01-02 09:07:07 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
* Portable ISO 'C' (1994) runtime library for the Amiga computer * Portable ISO 'C' (1994) runtime library for the Amiga computer
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de> * Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without

View File

@ -1,10 +1,10 @@
/* /*
* $Id: debug_kcmpstr.c,v 1.1.1.1 2004-07-26 16:30:27 obarthel Exp $ * $Id: debug_kcmpstr.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
* Portable ISO 'C' (1994) runtime library for the Amiga computer * Portable ISO 'C' (1994) runtime library for the Amiga computer
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de> * Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without

View File

@ -1,10 +1,10 @@
/* /*
* $Id: debug_kdofmt.c,v 1.1.1.1 2004-07-26 16:30:27 obarthel Exp $ * $Id: debug_kdofmt.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
* Portable ISO 'C' (1994) runtime library for the Amiga computer * Portable ISO 'C' (1994) runtime library for the Amiga computer
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de> * Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without

View File

@ -1,10 +1,10 @@
/* /*
* $Id: debug_kgetc.c,v 1.1.1.1 2004-07-26 16:30:27 obarthel Exp $ * $Id: debug_kgetc.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
* Portable ISO 'C' (1994) runtime library for the Amiga computer * Portable ISO 'C' (1994) runtime library for the Amiga computer
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de> * Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without

View File

@ -1,10 +1,10 @@
/* /*
* $Id: debug_kgetch1.c,v 1.1.1.1 2004-07-26 16:30:27 obarthel Exp $ * $Id: debug_kgetch1.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
* Portable ISO 'C' (1994) runtime library for the Amiga computer * Portable ISO 'C' (1994) runtime library for the Amiga computer
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de> * Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without

View File

@ -1,10 +1,10 @@
/* /*
* $Id: debug_kgetch2.c,v 1.1.1.1 2004-07-26 16:30:27 obarthel Exp $ * $Id: debug_kgetch2.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
* Portable ISO 'C' (1994) runtime library for the Amiga computer * Portable ISO 'C' (1994) runtime library for the Amiga computer
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de> * Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without

View File

@ -1,10 +1,10 @@
/* /*
* $Id: debug_kgetchar1.c,v 1.1.1.1 2004-07-26 16:30:27 obarthel Exp $ * $Id: debug_kgetchar1.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
* Portable ISO 'C' (1994) runtime library for the Amiga computer * Portable ISO 'C' (1994) runtime library for the Amiga computer
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de> * Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without

View File

@ -1,10 +1,10 @@
/* /*
* $Id: debug_kgetchar2.c,v 1.1.1.1 2004-07-26 16:30:27 obarthel Exp $ * $Id: debug_kgetchar2.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
* Portable ISO 'C' (1994) runtime library for the Amiga computer * Portable ISO 'C' (1994) runtime library for the Amiga computer
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de> * Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without

View File

@ -1,10 +1,10 @@
/* /*
* $Id: debug_kgetnum1.c,v 1.1.1.1 2004-07-26 16:30:27 obarthel Exp $ * $Id: debug_kgetnum1.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
* Portable ISO 'C' (1994) runtime library for the Amiga computer * Portable ISO 'C' (1994) runtime library for the Amiga computer
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de> * Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without

View File

@ -1,10 +1,10 @@
/* /*
* $Id: debug_kgetnum2.c,v 1.1.1.1 2004-07-26 16:30:28 obarthel Exp $ * $Id: debug_kgetnum2.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
* Portable ISO 'C' (1994) runtime library for the Amiga computer * Portable ISO 'C' (1994) runtime library for the Amiga computer
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de> * Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without

View File

@ -1,10 +1,10 @@
/* /*
* $Id: debug_kmaygetch.c,v 1.1.1.1 2004-07-26 16:30:28 obarthel Exp $ * $Id: debug_kmaygetch.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
* Portable ISO 'C' (1994) runtime library for the Amiga computer * Portable ISO 'C' (1994) runtime library for the Amiga computer
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de> * Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without

View File

@ -1,10 +1,10 @@
/* /*
* $Id: debug_kmaygetchar.c,v 1.1.1.1 2004-07-26 16:30:28 obarthel Exp $ * $Id: debug_kmaygetchar.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
* Portable ISO 'C' (1994) runtime library for the Amiga computer * Portable ISO 'C' (1994) runtime library for the Amiga computer
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de> * Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without

View File

@ -1,10 +1,10 @@
/* /*
* $Id: debug_kprintf1.c,v 1.1.1.1 2004-07-26 16:30:28 obarthel Exp $ * $Id: debug_kprintf1.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
* Portable ISO 'C' (1994) runtime library for the Amiga computer * Portable ISO 'C' (1994) runtime library for the Amiga computer
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de> * Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without

View File

@ -1,10 +1,10 @@
/* /*
* $Id: debug_kprintf2.c,v 1.1.1.1 2004-07-26 16:30:28 obarthel Exp $ * $Id: debug_kprintf2.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
* Portable ISO 'C' (1994) runtime library for the Amiga computer * Portable ISO 'C' (1994) runtime library for the Amiga computer
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de> * Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without

View File

@ -1,10 +1,10 @@
/* /*
* $Id: debug_kputc.c,v 1.1.1.1 2004-07-26 16:30:28 obarthel Exp $ * $Id: debug_kputc.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
* Portable ISO 'C' (1994) runtime library for the Amiga computer * Portable ISO 'C' (1994) runtime library for the Amiga computer
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de> * Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without

View File

@ -1,10 +1,10 @@
/* /*
* $Id: debug_kputch1.c,v 1.1.1.1 2004-07-26 16:30:28 obarthel Exp $ * $Id: debug_kputch1.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
* Portable ISO 'C' (1994) runtime library for the Amiga computer * Portable ISO 'C' (1994) runtime library for the Amiga computer
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de> * Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without

View File

@ -1,10 +1,10 @@
/* /*
* $Id: debug_kputch2.c,v 1.1.1.1 2004-07-26 16:30:28 obarthel Exp $ * $Id: debug_kputch2.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
* Portable ISO 'C' (1994) runtime library for the Amiga computer * Portable ISO 'C' (1994) runtime library for the Amiga computer
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de> * Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without

View File

@ -1,10 +1,10 @@
/* /*
* $Id: debug_kputchar1.c,v 1.1.1.1 2004-07-26 16:30:29 obarthel Exp $ * $Id: debug_kputchar1.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
* Portable ISO 'C' (1994) runtime library for the Amiga computer * Portable ISO 'C' (1994) runtime library for the Amiga computer
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de> * Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without

View File

@ -1,10 +1,10 @@
/* /*
* $Id: debug_kputchar2.c,v 1.1.1.1 2004-07-26 16:30:29 obarthel Exp $ * $Id: debug_kputchar2.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
* Portable ISO 'C' (1994) runtime library for the Amiga computer * Portable ISO 'C' (1994) runtime library for the Amiga computer
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de> * Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without

View File

@ -1,10 +1,10 @@
/* /*
* $Id: debug_kputfmt.c,v 1.1.1.1 2004-07-26 16:30:29 obarthel Exp $ * $Id: debug_kputfmt.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
* Portable ISO 'C' (1994) runtime library for the Amiga computer * Portable ISO 'C' (1994) runtime library for the Amiga computer
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de> * Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without

Some files were not shown because too many files have changed in this diff Show More