Convert-Binary-C
view release on metacpan or search on metacpan
tests/include/pdclib/platform/example/functions/stdlib/getenv_s.c view on Meta::CPAN
{
if ( strncmp( environ[ index ], name, nlen ) == 0 )
{
environ_value = environ[ index ] + nlen + 1;
vlen = strlen( environ_value );
rc = 0;
break;
}
index++;
}
if ( len != NULL )
{
*len = vlen;
}
if ( vlen < maxsize )
{
strcpy( value, environ_value );
}
return rc;
}
#endif
#ifdef TEST
#include "_PDCLIB_test.h"
#if ! defined( REGTEST ) || defined( __STDC_LIB_EXT1__ )
static int HANDLER_CALLS = 0;
static void test_handler( const char * _PDCLIB_restrict msg, void * _PDCLIB_restrict ptr, errno_t error )
{
++HANDLER_CALLS;
}
#endif
int main( void )
{
#if ! defined( REGTEST ) || defined( __STDC_LIB_EXT1__ )
size_t len;
char value[20];
set_constraint_handler_s( test_handler );
TESTCASE( getenv_s( &len, value, 20, "SHELL" ) == 0 );
TESTCASE( strcmp( value, "/bin/bash" ) == 0 );
/* TESTCASE( strcmp( value, "/bin/sh" ) == 0 ); */
/* constraint violations */
TESTCASE( getenv_s( &len, NULL, 20, "SHELL" ) != 0 );
TESTCASE( getenv_s( &len, value, 0, "SHELL" ) != 0 );
TESTCASE( getenv_s( &len, value, RSIZE_MAX + 1, "SHELL" ) != 0 );
TESTCASE( getenv_s( &len, value, 20, NULL ) != 0 );
/* non-existing (hopefully), != 0 but not constraint violation */
TESTCASE( getenv_s( &len, value, 20, "supercalifragilisticexpialidocius" ) != 0 );
TESTCASE( HANDLER_CALLS == 4 );
#endif
return TEST_RESULTS;
}
#endif
( run in 1.051 second using v1.01-cache-2.11-cpan-364913b4093 )