Re: Function Signatures In time.h
- From: Diomidis Spinellis <dds@xxxxxxx>
- Date: Sun, 30 Apr 2006 17:30:27 +0300
August Karlstrom wrote:
Does anyone know why some of the functions in time.h use pointers to constant objects of type time_t when time_t is an aritmetic type. Why is e.g. ctime declared as
char* ctime(const time_t* tp);
and not as
char* ctime(time_t t);
My guess is that this is an implementation decision related to the environment where C has its roots. In the Seventh Edition Unix (and probably also in earlier versions), time_t is implemented as a long
<http://minnie.tuhs.org/UnixTree/V7/usr/include/sys/types.h.html>. On a PDP-11 where that 1979 version of Unix run, passing as an argument a 16 bit pointer to a 32 bit long was probably more efficient than passing the actual 32 bit value.
--
Diomidis Spinellis
Code Quality: The Open Source Perspective (Addison-Wesley 2006)
http://www.spinellis.gr/codequality?clc
.
- Follow-Ups:
- Re: Function Signatures In time.h
- From: August Karlstrom
- Re: Function Signatures In time.h
- References:
- Function Signatures In time.h
- From: August Karlstrom
- Function Signatures In time.h
- Prev by Date: Re: Compute buffer size at compile-time
- Next by Date: Re: Compute buffer size at compile-time
- Previous by thread: Function Signatures In time.h
- Next by thread: Re: Function Signatures In time.h
- Index(es):