/*
*/
#include "sm/generic.h"
SM_IDSTR(id, "@(#)$Id: t-da-id.c,v 1.1 2006/12/11 01:09:34 ca Exp $")
#include "sm/io.h"
#include "sm/mta.h"
#include "sm/test.h"
#include <stdio.h>
/*
** TESTIDX -- test extraction of DA index from DA ta id
**
** Parameters:
** debug -- debug level
**
** Returns:
** usual sm_error code.
*/
static int
testidx(int debug)
{
sessta_id_T da_id;
uint i, j, id_count, c_id;
int r;
id_count = 1234;
j = 4567;
for (i = 0; i < 256; i++) {
id_count++;
sm_snprintf(da_id, SMTP_STID_SIZE, SMTPC_STID_FORMAT,
i, id_count, j);
r = SMTPC_GETCID(da_id, c_id);
SM_TEST(r == 1);
SM_TEST(c_id == i);
if (c_id != i)
{
sm_io_fprintf(smioerr, "idx=%u/%X, j=%u/%X, da_id=%s\n",
c_id, c_id, i, i, da_id);
return -1;
}
}
return 0;
}
int
main(int argc, char *argv[])
{
int c, debug;
sm_ret_T ret;
debug = 0;
while ((c = getopt(argc, argv, "d:s:")) != -1)
{
switch (c)
{
case 'd':
debug = strtol(optarg, NULL, 0);
break;
#if 0
default:
usage(argv[0]);
return(1);
#endif
}
}
sm_test_begin(argc, argv, "test smtpc id");
ret = testidx(debug);
return sm_test_end();
}
syntax highlighted by Code2HTML, v. 0.9.1