/* * test program for uuid library * * written by nathan wagner and placed in the public domain */ #include #include #include #include "pduuid.h" void ufmt(pd_uuid_t *uuid, char *s) { int i; for (i=0;i<4;i++) { s += sprintf(s, "%02x", uuid->data[i]); } s += sprintf(s, "-"); for (;i<6;i++) { s += sprintf(s, "%02x", uuid->data[i]); } s += sprintf(s, "-"); for (;i<8;i++) { s += sprintf(s, "%02x", uuid->data[i]); } s += sprintf(s, "-"); for (;i<10;i++) { s += sprintf(s, "%02x", uuid->data[i]); } s += sprintf(s, "-"); for (;i<16;i++) { s += sprintf(s, "%02x", uuid->data[i]); } } int main(int ac, char *av[]) { pd_uuid_t uuid; pd_uuid_t dns; char fmt[37]; #ifdef WIN32 srand(time(0)); #else srandom(time(0)); #endif pd_uuid_make_v1(0, &uuid); ufmt(&uuid, fmt); printf("v1: %s\n", fmt); pd_uuid_make_v4(0, &uuid); ufmt(&uuid, fmt); printf("v4: %s\n", fmt); pd_uuid_set_string(&dns, "6ba7b810-9dad-11d1-80b4-00c04fd430c8"); ufmt(&dns, fmt); printf("dns: %s\n", fmt); pd_uuid_make_v3(0, &uuid, &dns, "granicus.if.org", strlen("granicus.if.org")); ufmt(&uuid, fmt); printf("granicus.if.org (v3): %s\n", fmt); pd_uuid_make_v5(0, &uuid, &dns, "granicus.if.org", strlen("granicus.if.org")); ufmt(&uuid, fmt); printf("granicus.if.org (v5): %s\n", fmt); return 0; }