Login
Username:

Password:

Remember me



Lost Password?

Register now!

Sections

Who's Online
138 user(s) are online (23 user(s) are browsing News)

Members: 1
Guests: 137

imagodespira, more...

Support us!

Headlines


Recent Replied Topics
Software News : clib2 1.202 Released
Posted by ssolie on 2007/1/18 17:22:26 (2235 reads) News by the same author
Software News

clib2 1.202 has been released featuring a public API to the underlying file structure (e.g. useful for porting) and many important bug fixes.

See SourceForge for downloads and source code.

- Added llrint() function contributed by Henning Nielsen Lund. Thank you very much!

- now also include , so that the SEEK_SET, etc. macros are defined for lseek() to use.

- Added a wrapper function which handles the thread-safe stdio stream resolution.

- In tcflush() a break signal can no longer cause the read flush loop to be quit with two semaphores still locked.

- In __obtain_daemon_message() the test to verify if the bsdsocket.library API would support the server API functionality checked the wrong feature. Fixed.

- Switched over the fd->fd_DefaultFile references to fd->fd_Socket where sockets are used rather than file handles.

- Added functions which modify the callback function and the userdata pointer stored in a low level unbuffered file/socket data structure. These function perform the proper locking and are thus safe to use in a thread-safe environment.

- The low level unbuffered file/socket now has a public equivalent, which is defined (along with the typedefs and flags) in . Functions for tinkering with it are still to come.

- The math kernel code no longer uses its own private scalbn() function.

- Added a function prototype for the _exit() function. Note that _exit() is not an ISO 'C' function.

- Corrected the getopt() function prototype, as prompted by Henning Nielsen Lund.

- The printf() family no longer adds a 0 or 0x prefix if the alternate conversion modifier is present for the %o and %x conversions and the value to be converted is 0 already. Put another way, printf("%#x %#o",0,0); now prints "0 0". This required another change so that %p always includes the 0x prefix even if the pointer involved is a NULL pointer.

- readlink() no longer sort-of-works for files and directories. It now only works for soft linked objects and returns an error for everything else. This is based upon a fix by Peter Bengtsson. Thank you very much!

- Moved the lstat() local Lock() function into its own separate file.

- uname() now returns correct and robust information for OS version numbers > 36. This integrates a fix by Peter Bengtsson. Thank you very much!

- Moved the crtbegin.o/crtend.o files out of the link libraries. Moving them in was intended to work as a fix for the shared library build, but now it seems that this has to be done at the link stage through the GCC specs file...

- Integrated a fix for __rem_pio2() which affects sin(), tan() and cos(), contributed by Steven Solie. Thank you very much!

- The internal 'struct fd' file descriptor table entry data structure now has a user data field entry.

- Rearranged the contents of the 'struct fd' file descriptor table entry data structure in preparation for making it public. Also added a version field so that user code can handle changes to it gracefully. The default file is no longer a BCPL pointer to a file handle by default, but both a BPTR and a socket identifier, wrapped into a union.

- Added experimental tilde expansion in Unix path names. This still needs some more work.

- __get_default_file() called __fd_unlock() without having called __fd_lock() first. Ouch.

- Removed an unnecessary pair of__fd_lock()..__fd_unlock() calls from ttyname_r().

- The libunix.a unlink() function is now reentrant, or at least thread-safe.

- You can now make unlink() stop after a failed deletion attempt which failed because the object to be deleted was reported as being "in use". The libunix.a variant defaults to report the deletion to have succeeded under these circumstances and later tries to delete the files marked for deletion. See for a brief documentation of how to change the behaviour.

- basename() and dirname() can no longer return NULL. They truncate the resulting path name instead. This is done so because some code that calls basename() or dirname() does not check if the function's return value is NULL.

- The SetOwner() fall-back code for Kickstart 2.04 was passing the wrong parameters to the file system. The first (dp_Arg1) should have been zero. Ouch.

- basename() is not supposed to modify the string it is passed and should return a pointer to a string which can be modified. Now it does. Same thing for dirname().

- asctime_r() now returns NULL if the buffer is too short to hold even a single byte of data.

- ttyname() now calls ttyname_r(). Also, the libunix.a version of ttyname_r() will produce "/CONSOLE" rather than "CONSOLE:".

Printer friendly page Send this story to a friend
The comments are owned by the author. We aren't responsible for their content.
Author Thread
spotUP
Published: 2007/1/19 23:34  Updated: 2007/1/19 23:34
Just can't stay away
Joined: 11/26/2006
From:
Comments: 1492
 Re: clib2 1.202 Released
YES! Thanx to all involved!
acefnq
Published: 2007/1/20 13:37  Updated: 2007/1/20 13:37
Quite a regular
Joined: 11/25/2006
From: Adelaide South Australia
Comments: 622
 Re: clib2 1.202 Released
As I have always stated I am not a coder It looks to me like this is quite a big upgrade/improvement which will help OS4 coders, so from a humble user, a sincere thankyou to all involved.

ace
General
Site sponsors
 
Contact us on discord to advertise here.

Site statistics
Registered members
  1722
Logged in last:
  24 hours, 67
  7 days, 128
  30 days, 188

Random Photo
OWB 1.12

New Articles List

New Members
Amigafreak02
Amigafreak02 11/15/2024
Drakken
Drakken 11/14/2024
ybbasepiw
ybbasepiw 11/11/2024
Mr_byte
Mr_byte 11/06/2024
ghettofinger
ghettofinger 10/30/2024
VaultDweller
VaultDweller 10/30/2024
Greenslade
Greenslade 10/11/2024
komyash
komyash 09/20/2024
Correine
Correine 09/16/2024
Falke_34
Falke_34 09/14/2024


Powered by XOOPS 2.0 © 2001-2024 The XOOPS Project