/*
* Copyright (c) 2003, 2004 Sendmail, Inc. and its suppliers.
* All rights reserved.
*
* By using this file, you agree to the terms and conditions set
* forth in the LICENSE file which can be found at the top level of
* the sendmail distribution.
*/
#include "sm/generic.h"
SM_RCSID("@(#)$Id: t-hostname.c,v 1.6 2004/04/27 22:17:38 ca Exp $")
#include "sm/assert.h"
#include "sm/magic.h"
#include "sm/error.h"
#include "sm/str.h"
#include "sm/test.h"
#include "sm/io.h"
#include "sm/hostname.h"
static int Verbosity = 0;
static void
test(bool lower)
{
sm_ret_T ret;
sm_str_P mhn;
mhn = NULL;
ret = sm_myhostname(&mhn);
SM_TEST(ret == SM_SUCCESS);
SM_TEST(mhn != NULL);
if (mhn != NULL)
{
if (lower)
sm_str2lower(mhn);
SM_TEST(strchr((const char *) sm_str_getdata(mhn), '.')
!= NULL);
if (Verbosity > 1)
{
sm_io_fprintf(smioout, "hostname='%S'\n", mhn);
sm_io_flush(smioout);
}
else if (Verbosity > 0)
{
sm_io_fprintf(smioout, "%S\n", mhn);
sm_io_flush(smioout);
}
}
SM_STR_FREE(mhn);
return;
}
int
main(int argc, char *argv[])
{
int c;
bool lower;
lower = false;
while ((c = getopt(argc, argv, "lV")) != -1)
{
switch (c)
{
case 'l':
lower = true;
break;
case 'V':
++Verbosity;
break;
}
}
sm_test_begin(argc, argv, "test myhostname");
#if 0
argc -= optind;
argv += optind;
#endif /* 0 */
test(lower);
return sm_test_end();
}
syntax highlighted by Code2HTML, v. 0.9.1