This structure is not part of POSIX. According to POSIX, gettimeofday()
has the following prototype:
int gettimeofday(struct timeval *restrict tp, void *restrict tzp);
Also, POSIX states that gettimeofday() shall return 0 (as long as tzp is
not used). Remove dead error handling code. Also use NULL for a
nul-pointer instead of integer 0.
While there, change all pieces of code that only use tv_sec to use
time(3), as this provides less overhead.
- Cast time_t's to long, and print them with %ld.
- Print ptrdiff_t's with %td.
- Print ssize_t's and size_t's with %zd and %zu.
- Print int32_t's with %d.
Also, replace some int variables with the more appropriate size_t.
MFC after: 1 week
variable in an int to avoid casting to an unsigned value which causes
the comparison with -1 to fail.
PR: 123807
Submitted by: Matthew Luckie
Reviewed by: keramida@
MFC after: 1 week
deprecated in favor of the POSIX-defined lowercase variants.
o Change all occurrences of NTOHL() and associated marcros in the
source tree to use the lowercase function variants.
o Add missing license bits to sparc64's <machine/endian.h>.
Approved by: jake
o Clean up <machine/endian.h> files.
o Remove unused __uint16_swap_uint32() from i386's <machine/endian.h>.
o Remove prototypes for non-existent bswapXX() functions.
o Include <machine/endian.h> in <arpa/inet.h> to define the
POSIX-required ntohl() family of functions.
o Do similar things to expose the ntohl() family in libstand, <netinet/in.h>,
and <sys/param.h>.
o Prepend underscores to the ntohl() family to help deal with
complexities associated with having MD (asm and inline) versions, and
having to prevent exposure of these functions in other headers that
happen to make use of endian-specific defines.
o Create weak aliases to the canonical function name to help deal with
third-party software forgetting to include an appropriate header.
o Remove some now unneeded pollution from <sys/types.h>.
o Add missing <arpa/inet.h> includes in userland.
Tested on: alpha, i386
Reviewed by: bde, jake, tmm
includes changing a struct timeval to an explicit structure of two
int32_t's. This requires using temporary timevals in several places
when calling gettimeofday(), settimeofday(), etc. With this timed now
works properly on 64-bit platforms such as Alpha.
Obtained from: NetBSD
the size of the tsp_name field is OS-dependent. 4.3BSD used a 32-byte
field, FreeBSD uses MAXHOSTNAMELEN and RedHat apparently uses a 64-byte
field. As a result, sanity checking code added a few months ago to detect
short packets will fail when interoperating with one of these other vendors.
Change the short packet detection code to expect a minimum packet size
corresponding to the 4.3BSD implementation, which should be a safe minimum
size.
Submitted by: Stephen Whiteley <stevew@best.com> (based on)
PR: misc/29867
- check the msg.tsp_type value prior to using it as an
index into char *tsptype[]
- use strlcpy's instead of strcpy's
- & handle short packets properly.
Submitted by: "Andrew R. Reiter" <arr@watson.org>
Obtained from: OpenBSD