4
0
mirror of git://sourceware.org/git/newlib-cygwin.git synced 2025-01-20 21:39:21 +08:00
Corinna Vinschen 5717262b8e select.h: update FD macros to latest FreeBSD, fix type conversion warning
Compiling

#include <sys/select.h>
void f(int X)
{
  fd_set set;
  FD_ZERO(&set);
  FD_SET(X,&set);
  FD_CLR(X+1,&set);
  (void)FD_ISSET(X+2,&set);
}

results in plenty of gcc warnings when compiled with
-Wconversion -Wsign-conversion:

  fds.c:7:2: warning: conversion to ‘long unsigned int’ from ‘int’ may
    FD_SET(X,&set);
    ^~~~~~
  [...]

The unsigned NFDBITS macro combined with the signed 1L constant
are causing lots of implicit signed/unsigned type conversions.

Fix this by updating the FD_* macro code to the latest from FreeBSD
and adding an (int) cast to _NFDBITS.

As a side-effect, this fixes the visibility of NFDBITS and
fds_bits (only if __BSD_VISIBLE).

This also eliminates the old, outdated fd_set workaround.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
2020-08-03 12:41:45 +02:00
..
2016-10-25 16:24:05 +02:00
2019-11-04 07:03:15 +01:00
2018-01-17 11:47:13 -06:00
2018-01-17 11:47:17 -06:00
2018-01-17 11:47:17 -06:00
2019-11-04 07:03:15 +01:00
2018-01-17 11:47:13 -06:00
2019-06-07 09:13:13 +02:00
2015-05-28 16:40:43 +02:00