Message ID | 20180128172308.7647-2-samuel.thibault@ens-lyon.org |
---|---|
State | New |
Headers | show |
Series | hurd: fix building tests | expand |
On Sun, 28 Jan 2018, Samuel Thibault wrote: > FWRITE is already an fcntl.h macro. > > * libio/tst-memstream3.c (FWRITE): Rename to _FWRITE. > (do_test_bz20181): Rename accordingly. > * libio/tst-wmemstream3.c (FWRITE): Rename accordingly. I think we should leave the testcase using FWRITE (and certainly not make tests use reserved-namespace names with leading '_' if it can be avoided), and instead remove the FREAD and FWRITE macros from the generic and Hurd bits/fcntl.h. (There's a case for removing all the F* aliases for O_* from all bits/fcntl.h variants, as one of many likely obsolete __USE_MISC APIs, but that would need more investigation of how widely used they might be. Removal of names that only appear in the Hurd-specific and (currently unused) generic headers is pretty safe, however.)
Joseph Myers, on lun. 29 janv. 2018 16:33:40 +0000, wrote: > and instead remove the FREAD and FWRITE macros from the generic and Hurd > bits/fcntl.h. What do we do of sysdeps/unix/bsd/tcflush.c's use of FREAD and FWRITE then? Samuel
On Mon, 29 Jan 2018, Samuel Thibault wrote: > Joseph Myers, on lun. 29 janv. 2018 16:33:40 +0000, wrote: > > and instead remove the FREAD and FWRITE macros from the generic and Hurd > > bits/fcntl.h. > > What do we do of sysdeps/unix/bsd/tcflush.c's use of FREAD and FWRITE > then? I would have said change it to use O_RDONLY and O_WRONLY of which FREAD and FWRITE are aliases, but in the generic header they aren't aliases. The comments in both bits/fcntl.h headers, referring to those names as being for bits returned by F_GETFL, are clearly wrong - F_GETFL returns the O_* bits, not some possibly rewritten bits. So maybe those macros should stay, but with the comments in both places changed to say they are flags for TIOCFLUSH (e.g. FreeBSD's fcntl.h has a comment referring to TIOCFLUSH above the definition of those macros). And then use a name such as FWRITE_FUNC in the tests, since they still shouldn't be using implementation-namespace _FWRITE.
diff --git a/ChangeLog b/ChangeLog index 1261148996..23a56d69cd 100644 --- a/ChangeLog +++ b/ChangeLog @@ -53,6 +53,9 @@ * sysdeps/mach/hurd/check_pf.c: New file. * sysdeps/mach/hurd/libhurduser.abilist: New file. * sysdeps/mach/libmachuser.abilist: New file. + * libio/tst-memstream3.c (FWRITE): Rename to _FWRITE. + (do_test_bz20181): Rename accordingly. + * libio/tst-wmemstream3.c (FWRITE): Rename accordingly. 2008-12-18 Thomas Schwinge <tschwinge@gnu.org> diff --git a/libio/tst-memstream3.c b/libio/tst-memstream3.c index 331314f784..df0da5bac5 100644 --- a/libio/tst-memstream3.c +++ b/libio/tst-memstream3.c @@ -29,7 +29,7 @@ # define W(o) o # define OPEN_MEMSTREAM open_memstream # define PRINTF printf -# define FWRITE fwrite +# define _FWRITE fwrite # define FPUTC fputc # define STRCMP strcmp #endif @@ -114,14 +114,14 @@ do_test_bz20181 (void) if (fp == NULL) ERROR_RET1 ("%s failed\n", S(OPEN_MEMSTREAM)); - if ((ret = FWRITE (W("abc"), 1, 3, fp)) != 3) - ERROR_RET1 ("%s failed (errno = %d)\n", S(FWRITE), errno); + if ((ret = _FWRITE (W("abc"), 1, 3, fp)) != 3) + ERROR_RET1 ("%s failed (errno = %d)\n", S(_FWRITE), errno); if (fseek (fp, 0, SEEK_SET) != 0) ERROR_RET1 ("fseek failed (errno = %d)\n", errno); - if (FWRITE (W("z"), 1, 1, fp) != 1) - ERROR_RET1 ("%s failed (errno = %d)\n", S(FWRITE), errno); + if (_FWRITE (W("z"), 1, 1, fp) != 1) + ERROR_RET1 ("%s failed (errno = %d)\n", S(_FWRITE), errno); if (fflush (fp) != 0) ERROR_RET1 ("fflush failed (errno = %d)\n", errno); diff --git a/libio/tst-wmemstream3.c b/libio/tst-wmemstream3.c index d0e4973768..4edc2b9094 100644 --- a/libio/tst-wmemstream3.c +++ b/libio/tst-wmemstream3.c @@ -37,7 +37,7 @@ fwwrite (const void *ptr, size_t size, size_t nmemb, FILE *arq) #define W(o) L##o #define OPEN_MEMSTREAM open_wmemstream #define PRINTF wprintf -#define FWRITE fwwrite +#define _FWRITE fwwrite #define FPUTC fputwc #define STRCMP wcscmp