S390: Optimize atomic macros.
[glibc.git] / stdio-common / tst-gets.c
blob9340c76f8ae1e288ae85384d3449607085a8e00e
1 /* Tests for gets.
2 Copyright (C) 2001-2017 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4 Contributed by Ulrich Drepper <drepper@redhat.com>, 2001.
6 The GNU C Library is free software; you can redistribute it and/or
7 modify it under the terms of the GNU Lesser General Public
8 License as published by the Free Software Foundation; either
9 version 2.1 of the License, or (at your option) any later version.
11 The GNU C Library is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 Lesser General Public License for more details.
16 You should have received a copy of the GNU Lesser General Public
17 License along with the GNU C Library; if not, see
18 <http://www.gnu.org/licenses/>. */
20 /* This file tests gets. Force it to be declared. */
21 #include <features.h>
22 #undef __GLIBC_USE_DEPRECATED_GETS
23 #define __GLIBC_USE_DEPRECATED_GETS 1
25 #include <stdio.h>
26 #include <string.h>
29 static int
30 do_test (void)
32 char buf[100];
33 int result = 0;
35 if (gets (buf) != buf)
37 printf ("gets: read error: %m\n");
38 result = 1;
40 else if (strchr (buf, '\n') != NULL)
42 printf ("newline not stripped: \"%s\"\n", buf);
43 result = 1;
45 else if (strcmp (buf, "foo") != 0)
47 printf ("read mismatch: expected \"%s\", got \"%s\"\n", "foo", buf);
48 result = 1;
51 if (gets (buf) != buf)
53 printf ("gets: read error: %m\n");
54 result = 1;
56 else if (strchr (buf, '\n') != NULL)
58 printf ("newline not stripped: \"%s\"\n", buf);
59 result = 1;
61 else if (strcmp (buf, "bar") != 0)
63 printf ("read mismatch: expected \"%s\", got \"%s\"\n", "bar", buf);
64 result = 1;
67 return result;
70 #define TEST_FUNCTION do_test ()
71 #include "../test-skeleton.c"