M
Michael B Allen
I want to initialize a static variable to a "random" value like:
static void *
get_key(struct dnsreq *req)
{
static uint16_t next_txnid = (uint32_t)req & 0xFFFF;
But gcc gives me an error:
src/dns.c: In function `get_key':
src/dns.c:173: initializer element is not constant
So a static initializer must be a constant?
Must I do:
static uint16_t next_txnid = 0;
if (!next_txnid) {
(uint32_t)req & 0xFFFF;
}
?
Thanks,
Mike
static void *
get_key(struct dnsreq *req)
{
static uint16_t next_txnid = (uint32_t)req & 0xFFFF;
But gcc gives me an error:
src/dns.c: In function `get_key':
src/dns.c:173: initializer element is not constant
So a static initializer must be a constant?
Must I do:
static uint16_t next_txnid = 0;
if (!next_txnid) {
(uint32_t)req & 0xFFFF;
}
?
Thanks,
Mike