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

Reply via email to