]> pd.if.org Git - pdclib/log
pdclib
11 years agoEnable building PDCLib with Watcom. This was surprisingly painless: their C99 mode...
Owen Shepherd [Thu, 16 Aug 2012 13:59:39 +0000 (14:59 +0100)]
Enable building PDCLib with Watcom. This was surprisingly painless: their C99 mode has come a long way!

11 years agoprintf test cases: check signdness of char. Validate assumptions about shorts
Owen Shepherd [Thu, 16 Aug 2012 13:58:54 +0000 (14:58 +0100)]
printf test cases: check signdness of char. Validate assumptions about shorts

11 years agowin32: Fix _PDCLIB_seek. Todo soon: change this API. It is far too tricky and involve...
Owen Shepherd [Thu, 16 Aug 2012 12:11:16 +0000 (13:11 +0100)]
win32: Fix _PDCLIB_seek. Todo soon: change this API. It is far too tricky and involves too much reaching into the stream objects.

11 years agoprintf_testcases: validate assumptions test cases make (todo soon: add support for...
Owen Shepherd [Thu, 16 Aug 2012 12:07:42 +0000 (13:07 +0100)]
printf_testcases: validate assumptions test cases make (todo soon: add support for case of char being unsigned)

11 years agowin32: add a last chance exception handler which invokes the appropriate signal handler
Owen Shepherd [Wed, 15 Aug 2012 22:53:54 +0000 (23:53 +0100)]
win32: add a last chance exception handler which invokes the appropriate signal handler

11 years agofclose.c: don't try to open testfile2 while already open; [win32] implement rename
Owen Shepherd [Wed, 15 Aug 2012 14:23:40 +0000 (15:23 +0100)]
fclose.c: don't try to open testfile2 while already open; [win32] implement rename

11 years ago_PDCLIB_flushbuffer for win32. correct seeking behaviour.
Owen Shepherd [Wed, 15 Aug 2012 13:08:07 +0000 (14:08 +0100)]
_PDCLIB_flushbuffer for win32. correct seeking behaviour.

11 years agoignore generated html files from manuals
Owen Shepherd [Tue, 14 Aug 2012 23:41:47 +0000 (00:41 +0100)]
ignore generated html files from manuals

11 years agoDocumentation for errno.h and errno
Owen Shepherd [Tue, 14 Aug 2012 23:40:43 +0000 (00:40 +0100)]
Documentation for errno.h and errno

11 years agoEDOM was repeated
Owen Shepherd [Tue, 14 Aug 2012 23:40:23 +0000 (00:40 +0100)]
EDOM was repeated

11 years agoChange the HTML manual page style to remove width limit (primarily for the
Owen Shepherd [Tue, 14 Aug 2012 22:44:11 +0000 (23:44 +0100)]
Change the HTML manual page style to remove width limit (primarily for the
website's manual viewer, where the size is capped by an iframe anyhow)

11 years agoAdd nothrow annotations where appropriate
Owen Shepherd [Tue, 14 Aug 2012 18:31:10 +0000 (19:31 +0100)]
Add nothrow annotations where appropriate

11 years agoThe feature check statements should represent what the user enters, not how we check...
Owen Shepherd [Tue, 14 Aug 2012 15:37:15 +0000 (16:37 +0100)]
The feature check statements should represent what the user enters, not how we check </brainfart>

11 years agoCorrect formatting of strdup/strndup in man string.h
Owen Shepherd [Tue, 14 Aug 2012 15:35:29 +0000 (16:35 +0100)]
Correct formatting of strdup/strndup in man string.h

11 years agoAdd string.h man page
Owen Shepherd [Tue, 14 Aug 2012 15:29:15 +0000 (16:29 +0100)]
Add string.h man page

11 years agoImport default mandoc stylesheet for HTML manuals
Owen Shepherd [Tue, 14 Aug 2012 15:28:59 +0000 (16:28 +0100)]
Import default mandoc stylesheet for HTML manuals

11 years agoBugfix: memmove parameters incorrectly defined as restrict.
Owen Shepherd [Tue, 14 Aug 2012 15:28:41 +0000 (16:28 +0100)]
Bugfix: memmove parameters incorrectly defined as restrict.

11 years agoAdd support for building HTML manual pages to the Jamfile
Owen Shepherd [Tue, 14 Aug 2012 15:07:54 +0000 (16:07 +0100)]
Add support for building HTML manual pages to the Jamfile

11 years ago(merge)
Owen Shepherd [Tue, 14 Aug 2012 14:54:36 +0000 (15:54 +0100)]
(merge)

11 years agoImport the manual pages into the repository
Owen Shepherd [Tue, 14 Aug 2012 14:51:35 +0000 (15:51 +0100)]
Import the manual pages into the repository

11 years agoInitial pass at a port to win32
Owen Shepherd [Mon, 13 Aug 2012 20:14:14 +0000 (21:14 +0100)]
Initial pass at a port to win32

11 years ago* Test cleanups: surround the code for all functions by #ifndef REGTEST
Owen Shepherd [Mon, 13 Aug 2012 20:11:29 +0000 (21:11 +0100)]
* Test cleanups: surround the code for all functions by #ifndef REGTEST
* Don't REGTEST internal functions (it doesn't make sense)
* <stdio.h>: add _PDCLIB_fdopen, which opens a file based upon its _PDCLIB_fd_t
  file descriptor
    TODO: Should this be public or not? POSIX fdopen demonstrates utility
    TODO: Can we stop storing the file name? Is that useful?
* fopen: rewrite based upon _PDCLIB_fdopen to consolidate code
* strndup: don't REGTEST - mingw doesn't implement.
* <stddef.h>: conditional definition of wchar_t for <wchar.h>
* <wchar.h>: Add 4 simple functions for dependencies
* <_PDCLIB_aux.h>: rename _PDCLIB_ALL to _PDCLIB_EXTENSIONS
* platform/example/functions/stdio/tmpfile.c: return NULL, not 1
* Build system: SubInclude the platform directory to enable the building of
  support routines (e.g. app startup files)
* Test system: If $(CRT0) is set, link the contents of it into the tests. This
  enables the platform code to provide startup files.

11 years ago * New feature check macro system. See _PDCLIB_aux.h for details
Owen Shepherd [Sun, 12 Aug 2012 18:47:31 +0000 (19:47 +0100)]
 * New feature check macro system. See _PDCLIB_aux.h for details
 * remove "#pragma weak" from strdup.c. It's nonportable and shouldn't be
   necessary
 * <string.h> changed to use new feature test system for strdup + strndup
 * add strndup implementation
 * <assert.h> more reliable handling of error messages

 Build system:
 * The CoreMake system is dead. It proved to be unscalable
 * The old Make based system is gone, also
 * We now use a Jam based system (requires the latest FT_Jam). Reasons:
  * Make is hard to scale in a non-recursive manner. The interactions get
    intractably complex
  * The build system depended upon GNU Make. GNU Make's license (the GPLv3) is
    about as diametrically opposed to PDCLib's CC0 as you can get without being
    closed source
  * Jam is actually more portable. In particular, it doesn't require a Unix
    emulation layer (unlike GMake)
  * The Jam system, as is, can be incorporated into the build system of a larger
    project.

Why Jam?
 * GNU make is too low level. It also incorporates too much magic: it can spend
   significant ammounts of time trying to update source files from SCCS and RCS
   files for example (a feature it is doubtful somebody has used in the last
   decade)
 * Systems like CMake are too high level: CMake is very difficult to use in a
   cross compilation environment.
 * Systems like Scons and Waf pose similar issues. Scons is also incredibly
   slow.

11 years agoUnit tests
Owen Shepherd [Mon, 6 Aug 2012 00:18:07 +0000 (01:18 +0100)]
Unit tests

11 years ago* platform/example is now a "stub" platform - it should compile anywhere, but
Owen Shepherd [Sun, 5 Aug 2012 23:01:01 +0000 (00:01 +0100)]
* platform/example is now a "stub" platform - it should compile anywhere, but
  be useful nowhere.
* The old platform/example code has been moved to platform/posix - it should
  become a base implementation which works on any POSIX system
* A platform/win32 is probably due. This will be special in that it won't depend
  upon the host OS' libc (instead depending directly upon kernel32)

11 years agoInclude the text of the Creative Commons CC0 legal code
Owen Shepherd [Fri, 3 Aug 2012 18:06:08 +0000 (19:06 +0100)]
Include the text of the Creative Commons CC0 legal code

11 years agoImport dlmalloc (public domain) as a malloc implementation. Add stub opt/notime
Owen Shepherd [Fri, 3 Aug 2012 18:02:23 +0000 (19:02 +0100)]
Import dlmalloc (public domain) as a malloc implementation. Add stub opt/notime
implementation of time.h for platforms with no clock (which only implements the
time(time_t*) function) to support this.

(Note: Builds, but implementation as of yet untested)

11 years agoRemove these 4 files now they have moved to opt/. hg dropped this from the
Owen Shepherd [Thu, 2 Aug 2012 20:49:50 +0000 (21:49 +0100)]
Remove these 4 files now they have moved to opt/. hg dropped this from the
previous changeset

11 years ago* Change the style of inclusion of the internal/ headers. Modern preprocessors
Owen Shepherd [Thu, 2 Aug 2012 20:48:01 +0000 (21:48 +0100)]
* Change the style of inclusion of the internal/ headers. Modern preprocessors
  all detect the header guards and know not to include anyhow. The old style may
  have actually been counterproductive
* Make the built library be standard independent (i.e. the library build is
  independent of _PDCLIB_C_VERSION/__STDC_VERSION__/_PDCLIB_CXX_VERSION
  /__cplusplus.
* <threads.h> from C11. A bit off of the track of C99 support (which is still a
  higher priority goal), but solid implementation of many C99 functions on many
  real platforms will need proper thread support. <stdio.h> support to come.
  This is a stub implementation.
* Move malloc/free/realloc etc to opt/malloc-solar, in preparation for support
  of other memory allocators. On the cards are at least ptmalloc3 (BSD) and
  dlmalloc (public domain) as options.
* New build system (See CoreMakefile.mk). Not ready yet; but its coming. This
  doesn't change the project dependencies - you still only need GNU make.

This is a large bundle of changes - most of them are as a result of implementing
PDClib into my system, so they're mostly "changes I was doing" that have got
wrapped up together. Hopefully, now that things are together, future changesets
should be better factored.

Special thanks go to Martin "Solar" Baute for the work he has put in on this
code over many years.

11 years agoupdate tags
convert-repo [Mon, 23 Jul 2012 16:08:39 +0000 (16:08 +0000)]
update tags

12 years agoImproved by Caleb1994 of osdev.org.
solar [Sun, 9 Oct 2011 11:17:58 +0000 (11:17 +0000)]
Improved by Caleb1994 of osdev.org.

12 years agoFixing #47 (*snprint() crash).
solar [Mon, 13 Jun 2011 13:40:45 +0000 (13:40 +0000)]
Fixing #47 (*snprint() crash).

12 years agoAdded LC_* definitions.
solar [Mon, 13 Jun 2011 10:13:23 +0000 (10:13 +0000)]
Added LC_* definitions.

12 years agoFixes #45.
solar [Mon, 13 Jun 2011 10:03:13 +0000 (10:03 +0000)]
Fixes #45.

13 years agoFixed prototype warnings.
solar [Thu, 17 Mar 2011 05:59:31 +0000 (05:59 +0000)]
Fixed prototype warnings.

13 years agofind did not match on symlinks.
solar [Thu, 17 Mar 2011 05:47:37 +0000 (05:47 +0000)]
find did not match on symlinks.

13 years agoBackported improvements to Makefile from OSDev.
solar [Thu, 17 Mar 2011 05:28:07 +0000 (05:28 +0000)]
Backported improvements to Makefile from OSDev.

13 years agoFix for #42 - free( NULL ) must not fail.
solar [Sun, 20 Feb 2011 20:48:48 +0000 (20:48 +0000)]
Fix for #42 - free( NULL ) must not fail.

13 years agoIt seems I have to review the list of warning options if I missed this one.
solar [Tue, 11 Jan 2011 05:52:32 +0000 (05:52 +0000)]
It seems I have to review the list of warning options if I missed this one.

13 years agoFix for #41.
solar [Tue, 11 Jan 2011 05:49:19 +0000 (05:49 +0000)]
Fix for #41.

13 years agoI am not sure I understood strcoll() and strxfrm() correctly, but this is it for...
solar [Fri, 31 Dec 2010 08:47:37 +0000 (08:47 +0000)]
I am not sure I understood strcoll() and strxfrm() correctly, but this is it for now.

13 years agoLanguage.
solar [Thu, 30 Dec 2010 22:46:02 +0000 (22:46 +0000)]
Language.

13 years agoAddressed ticket #40 (non-standard errno values).
solar [Thu, 30 Dec 2010 22:43:20 +0000 (22:43 +0000)]
Addressed ticket #40 (non-standard errno values).

13 years agolocaleconv, and setlocale (C locale only)
solar [Wed, 29 Dec 2010 13:31:51 +0000 (13:31 +0000)]
localeconv, and setlocale (C locale only)

13 years agoMoved ctype info into struct lconv.
solar [Wed, 29 Dec 2010 13:19:53 +0000 (13:19 +0000)]
Moved ctype info into struct lconv.

13 years agoctype
solar [Wed, 29 Dec 2010 06:25:59 +0000 (06:25 +0000)]
ctype

13 years agoForgot parameter type.
solar [Thu, 23 Dec 2010 06:16:56 +0000 (06:16 +0000)]
Forgot parameter type.

13 years agoStarted out on v0.6.
solar [Thu, 23 Dec 2010 06:15:28 +0000 (06:15 +0000)]
Started out on v0.6.

13 years agoComment on v0.5 release origin/tags/v0.5 v0.5
solar [Wed, 22 Dec 2010 21:44:28 +0000 (21:44 +0000)]
Comment on v0.5 release

13 years agoBasic tests for %c, %s, %[ and %p.
solar [Mon, 20 Dec 2010 07:15:23 +0000 (07:15 +0000)]
Basic tests for %c, %s, %[ and %p.

13 years agoSome testcases for scanf(). Fixed bug with %*... . Fixed artifact in Makefile.
solar [Mon, 20 Dec 2010 05:17:35 +0000 (05:17 +0000)]
Some testcases for scanf(). Fixed bug with %*... . Fixed artifact in Makefile.

13 years agoMoved the macro magic into the common header.
solar [Fri, 17 Dec 2010 06:05:00 +0000 (06:05 +0000)]
Moved the macro magic into the common header.

13 years agoCleaning up TODOs.
solar [Thu, 16 Dec 2010 07:05:57 +0000 (07:05 +0000)]
Cleaning up TODOs.

13 years agoCleaning up TODOs.
solar [Thu, 16 Dec 2010 06:00:24 +0000 (06:00 +0000)]
Cleaning up TODOs.

13 years agoMore cleaning up.
solar [Wed, 15 Dec 2010 06:35:38 +0000 (06:35 +0000)]
More cleaning up.

13 years agoTightening the code a bit.
solar [Tue, 14 Dec 2010 12:09:18 +0000 (12:09 +0000)]
Tightening the code a bit.

13 years agoFixed safeguard calculation in ftell().
solar [Tue, 14 Dec 2010 06:16:35 +0000 (06:16 +0000)]
Fixed safeguard calculation in ftell().

13 years agoNine-to-five job calling, leaving this intermediate.
solar [Mon, 13 Dec 2010 07:40:43 +0000 (07:40 +0000)]
Nine-to-five job calling, leaving this intermediate.

13 years agoWhoops. That wouldn't have worked...
solar [Sun, 12 Dec 2010 21:32:44 +0000 (21:32 +0000)]
Whoops. That wouldn't have worked...

13 years agoEOL handling is for text mode conversion.
solar [Sat, 11 Dec 2010 09:16:11 +0000 (09:16 +0000)]
EOL handling is for text mode conversion.

13 years agoWe will cross that bridge when we come to it.
solar [Sat, 11 Dec 2010 09:14:39 +0000 (09:14 +0000)]
We will cross that bridge when we come to it.

13 years agoReplaced the dumb PATCHFILES with a smart for-find.
solar [Sat, 11 Dec 2010 09:12:24 +0000 (09:12 +0000)]
Replaced the dumb PATCHFILES with a smart for-find.

13 years agoAdded testdriver for signals, make links now including signal.h
solar [Fri, 10 Dec 2010 07:41:09 +0000 (07:41 +0000)]
Added testdriver for signals, make links now including signal.h

13 years agoAdjusted Makefile and svn:ignore for signal/.
solar [Fri, 10 Dec 2010 06:26:29 +0000 (06:26 +0000)]
Adjusted Makefile and svn:ignore for signal/.

13 years agoCompleted <signal.h>, and moved into platform.
solar [Fri, 10 Dec 2010 06:21:48 +0000 (06:21 +0000)]
Completed <signal.h>, and moved into platform.

13 years agoPut printf() / scanf() test macros in seperate header.
solar [Thu, 9 Dec 2010 07:14:21 +0000 (07:14 +0000)]
Put printf() / scanf() test macros in seperate header.

13 years agoPreliminary signal handling.
solar [Thu, 9 Dec 2010 07:13:57 +0000 (07:13 +0000)]
Preliminary signal handling.

13 years agoSVN properties cleanup.
solar [Thu, 9 Dec 2010 05:18:55 +0000 (05:18 +0000)]
SVN properties cleanup.

13 years agoReworked scanf() testing. General cleanups.
solar [Wed, 8 Dec 2010 05:53:09 +0000 (05:53 +0000)]
Reworked scanf() testing. General cleanups.

13 years agoTest drivers for fgetpos, fsetpos, and perror. Cannot really test closeall().
solar [Mon, 6 Dec 2010 21:21:45 +0000 (21:21 +0000)]
Test drivers for fgetpos, fsetpos, and perror. Cannot really test closeall().

13 years agofseek() test driver.
solar [Mon, 6 Dec 2010 19:54:29 +0000 (19:54 +0000)]
fseek() test driver.

13 years agoTest driver (and much-needed fixes) to fgets().
solar [Fri, 3 Dec 2010 05:59:00 +0000 (05:59 +0000)]
Test driver (and much-needed fixes) to fgets().

13 years agoTestdriver for gets(). Turns out fseek() was not tested yet.
solar [Thu, 2 Dec 2010 21:16:06 +0000 (21:16 +0000)]
Testdriver for gets(). Turns out fseek() was not tested yet.

13 years agoTestdriver for tmpfile().
solar [Thu, 2 Dec 2010 07:36:59 +0000 (07:36 +0000)]
Testdriver for tmpfile().

13 years agoTest driver for freopen().
solar [Thu, 2 Dec 2010 07:19:35 +0000 (07:19 +0000)]
Test driver for freopen().

13 years agoUsing constants for testfile names
solar [Thu, 2 Dec 2010 06:20:16 +0000 (06:20 +0000)]
Using constants for testfile names

13 years agoSwitched to tmpfile() where appropriate.
solar [Wed, 1 Dec 2010 22:01:42 +0000 (22:01 +0000)]
Switched to tmpfile() where appropriate.

13 years agoSome cleanups and corrected typos.
solar [Wed, 1 Dec 2010 21:34:16 +0000 (21:34 +0000)]
Some cleanups and corrected typos.

13 years ago*Much* better.
solar [Wed, 1 Dec 2010 21:05:43 +0000 (21:05 +0000)]
*Much* better.

13 years agoBetter error reporting on printf's.
solar [Tue, 30 Nov 2010 23:56:38 +0000 (23:56 +0000)]
Better error reporting on printf's.

13 years agoStatus review.
solar [Sun, 21 Nov 2010 12:17:15 +0000 (12:17 +0000)]
Status review.

13 years agoFixed broken filename handling in freopen().
solar [Sat, 20 Nov 2010 08:53:56 +0000 (08:53 +0000)]
Fixed broken filename handling in freopen().

13 years agoBug #39: fclose( stdout ) corrupts memory
solar [Sat, 20 Nov 2010 06:01:42 +0000 (06:01 +0000)]
Bug #39: fclose( stdout ) corrupts memory

13 years agoThanks where thanks is due.
solar [Fri, 19 Nov 2010 05:36:52 +0000 (05:36 +0000)]
Thanks where thanks is due.

13 years agoFixing bug #37 and #38.
solar [Fri, 19 Nov 2010 05:33:50 +0000 (05:33 +0000)]
Fixing bug #37 and #38.

13 years agoprintf / scanf macros in inttypes.h.
solar [Tue, 9 Nov 2010 06:52:32 +0000 (06:52 +0000)]
printf / scanf macros in inttypes.h.

13 years ago(no commit message)
solar [Tue, 2 Nov 2010 20:54:11 +0000 (20:54 +0000)]

13 years agoStreamlined printf testing.
solar [Fri, 1 Oct 2010 18:28:28 +0000 (18:28 +0000)]
Streamlined printf testing.

13 years agoImproved reporting by printf tests.
solar [Sun, 26 Sep 2010 15:40:37 +0000 (15:40 +0000)]
Improved reporting by printf tests.

13 years agoProper handling of dependencies. (Related to #26.)
solar [Sun, 26 Sep 2010 08:36:44 +0000 (08:36 +0000)]
Proper handling of dependencies. (Related to #26.)

13 years agoProper handling of dependencies. (Related to #26.)
solar [Sun, 26 Sep 2010 07:11:41 +0000 (07:11 +0000)]
Proper handling of dependencies. (Related to #26.)

13 years agoProper handling of dependencies. (Related to #26.)
solar [Sun, 26 Sep 2010 06:30:44 +0000 (06:30 +0000)]
Proper handling of dependencies. (Related to #26.)

13 years agoReworked dependency handling.
solar [Sun, 1 Aug 2010 07:19:28 +0000 (07:19 +0000)]
Reworked dependency handling.

13 years agoUncovered severe formatting bug with one-digit numbers. Not fixed yet, but better...
solar [Wed, 21 Jul 2010 06:08:13 +0000 (06:08 +0000)]
Uncovered severe formatting bug with one-digit numbers. Not fixed yet, but better than before.

13 years agoFormatting bug.
solar [Tue, 20 Jul 2010 04:27:34 +0000 (04:27 +0000)]
Formatting bug.

13 years agoSet svn:ignore on testing. Modified Makefile.
solar [Mon, 19 Jul 2010 20:11:00 +0000 (20:11 +0000)]
Set svn:ignore on testing. Modified Makefile.

13 years agoMoved reference files to platform subdirs.
solar [Mon, 19 Jul 2010 20:04:10 +0000 (20:04 +0000)]
Moved reference files to platform subdirs.

13 years agoMade printf() testcases 32/64 bit agnostic.
solar [Mon, 19 Jul 2010 15:17:37 +0000 (15:17 +0000)]
Made printf() testcases 32/64 bit agnostic.

13 years agoFurther streamlined testing.
solar [Mon, 19 Jul 2010 14:16:52 +0000 (14:16 +0000)]
Further streamlined testing.

13 years agoForgot to switch this one to unified include.
solar [Mon, 19 Jul 2010 11:44:34 +0000 (11:44 +0000)]
Forgot to switch this one to unified include.