View Issue Details

IDProjectCategoryView StatusLast Update
0000659LDMud 3.5Portabilitypublic2010-07-13 16:04
Reporterzesstra Assigned Tozesstra  
Status resolvedResolutionfixed 
Target Version3.5.0Fixed in Version3.5.0 
Summary0000659: Legacy functions / checks for C99/POSIX functions
DescriptionI think, we should get rid of non-standard/legacy functions (such as bcopy), if there is a standard function (like memmove).
Right now I noticed bcopy which is used if there is no memmove(). If there is also no bcopy, we provide our own definition. As we anyway require ISO C99 and POSIX compatibility, we should just require memmove().
Similar thing to memcpy(): remove check for it and require it.

I guess, a) there may be other functions which are nowadays 'legacy' and superseded by their equivalents in C90/C99/POSIX and b) checks for functions from these standards and fallbacks. Does anybody argue for keeping these in 3.5.x?
Additional Information
TagsNo tags attached.



2009-06-12 17:21

administrator   ~0001200

Another one: bzero -> memset.


2009-06-12 17:38

administrator   ~0001201

Next candidates:
* strtol
* memset
* strcspn
* strdup
* getrusage


2009-06-12 17:44

administrator   ~0001202

Ok, now I noticed, that we already unconditionally use memmove() at many places and use only sometimes the move_memory() from ports.c. I think, we can just remove the abstraction move_memory() then as well. ;-)


2009-06-16 18:11

administrator   ~0001212

Removed the ones mentioned until now in r2648 - r2658.


2010-07-13 16:04

administrator   ~0001871

Closing until I (or someone else) find more candidates.

Issue History

Date Modified Username Field Change
2009-06-12 17:19 zesstra New Issue
2009-06-12 17:19 zesstra Status new => assigned
2009-06-12 17:19 zesstra Assigned To => zesstra
2009-06-12 17:21 zesstra Note Added: 0001200
2009-06-12 17:38 zesstra Note Added: 0001201
2009-06-12 17:44 zesstra Note Added: 0001202
2009-06-16 18:11 zesstra Note Added: 0001212
2010-07-13 16:04 zesstra Note Added: 0001871
2010-07-13 16:04 zesstra Status assigned => resolved
2010-07-13 16:04 zesstra Fixed in Version => 3.5.0
2010-07-13 16:04 zesstra Resolution open => fixed