140266059SGregory Neil Shapiro /* 25dd76dd0SGregory Neil Shapiro * Copyright (c) 2001 Proofpoint, Inc. and its suppliers. 340266059SGregory Neil Shapiro * All rights reserved. 440266059SGregory Neil Shapiro * 540266059SGregory Neil Shapiro * By using this file, you agree to the terms and conditions set 640266059SGregory Neil Shapiro * forth in the LICENSE file which can be found at the top level of 740266059SGregory Neil Shapiro * the sendmail distribution. 840266059SGregory Neil Shapiro */ 940266059SGregory Neil Shapiro 1040266059SGregory Neil Shapiro #include <sm/gen.h> 114313cc83SGregory Neil Shapiro SM_IDSTR(id, "@(#)$Id: t-scanf.c,v 1.6 2013-11-22 20:51:43 ca Exp $") 1240266059SGregory Neil Shapiro 1340266059SGregory Neil Shapiro #include <sm/limits.h> 1440266059SGregory Neil Shapiro #include <sm/io.h> 1540266059SGregory Neil Shapiro #include <sm/string.h> 1640266059SGregory Neil Shapiro #include <sm/test.h> 1740266059SGregory Neil Shapiro #include <sm/types.h> 1840266059SGregory Neil Shapiro 1940266059SGregory Neil Shapiro int 2040266059SGregory Neil Shapiro main(argc, argv) 2140266059SGregory Neil Shapiro int argc; 2240266059SGregory Neil Shapiro char **argv; 2340266059SGregory Neil Shapiro { 2440266059SGregory Neil Shapiro int i, d, h; 2540266059SGregory Neil Shapiro char buf[128]; 2640266059SGregory Neil Shapiro char *r; 2740266059SGregory Neil Shapiro 2840266059SGregory Neil Shapiro sm_test_begin(argc, argv, "test scanf point stuff"); 2940266059SGregory Neil Shapiro #if !SM_CONF_BROKEN_SIZE_T 3040266059SGregory Neil Shapiro (void) sm_io_fprintf(smioout, SM_TIME_DEFAULT, 3140266059SGregory Neil Shapiro "If tests for \"h == 2\" fail, check whether size_t is signed on your OS.\n\ 3240266059SGregory Neil Shapiro If that is the case, add -DSM_CONF_BROKEN_SIZE_T to confENVDEF\n\ 3340266059SGregory Neil Shapiro and start over. Otherwise contact sendmail.org.\n"); 34*5b0945b5SGregory Neil Shapiro #endif 3540266059SGregory Neil Shapiro 3640266059SGregory Neil Shapiro d = 2; 3740266059SGregory Neil Shapiro sm_snprintf(buf, sizeof(buf), "%d", d); 3840266059SGregory Neil Shapiro r = "2"; 3940266059SGregory Neil Shapiro if (!SM_TEST(strcmp(buf, r) == 0)) 4040266059SGregory Neil Shapiro (void) sm_io_fprintf(smioerr, SM_TIME_DEFAULT, 4140266059SGregory Neil Shapiro "got %s instead\n", buf); 4240266059SGregory Neil Shapiro 4340266059SGregory Neil Shapiro i = sm_io_sscanf(buf, "%d", &h); 4440266059SGregory Neil Shapiro SM_TEST(i == 1); 4540266059SGregory Neil Shapiro SM_TEST(h == 2); 4640266059SGregory Neil Shapiro 4740266059SGregory Neil Shapiro d = 2; 4840266059SGregory Neil Shapiro sm_snprintf(buf, sizeof(buf), "%d\n", d); 4940266059SGregory Neil Shapiro r = "2\n"; 5040266059SGregory Neil Shapiro if (!SM_TEST(strcmp(buf, r) == 0)) 5140266059SGregory Neil Shapiro (void) sm_io_fprintf(smioerr, SM_TIME_DEFAULT, 5240266059SGregory Neil Shapiro "got %s instead\n", buf); 5340266059SGregory Neil Shapiro 5440266059SGregory Neil Shapiro i = sm_io_sscanf(buf, "%d", &h); 5540266059SGregory Neil Shapiro SM_TEST(i == 1); 5640266059SGregory Neil Shapiro SM_TEST(h == 2); 5740266059SGregory Neil Shapiro 5840266059SGregory Neil Shapiro return sm_test_end(); 5940266059SGregory Neil Shapiro } 60