On Sat, Jan 22, 2005 at 01:46:31AM +0800, Ron Michael Khu wrote:
> have u tried changing the first field of each element??
> something like... replacing those char ptrs with something static?
>
> example:
>
> DATUM recip_data[] = {
> { "i am a constant str", NAMECTRL_LEN, make_upper },
> { "i am a constant str", NAME1_LEN, make_upper },
As I recalled, the ability to HAVE dynamic pointers was one of the
primary benefits of using c in the first place! Later in the file I
have this routine which allocates space for each pointer in the
structure:
alloc_space(r) RECORD *r;
{ register size_t i;
register char **v;
for(i=0; i<r->n; i++)
{ if(r->data[i].len == 0 || r->data[i].len == 0xFFFF) continue;
v = (r->data[i].var);
if (*v == NULL)
{ *v = (char *) calloc(1,r->data[i].len + 1);
memset(*v,'A'+i,r->data[i].len);
}
}
}
I guess i just don't understand why a "modern" compiler wants to
restrict my options in this fashion....
-
To unsubscribe from this list: send the line "unsubscribe linux-c-programming"
in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html