On Sat, Jan 22, 2005 at 10:12:06PM +0100, Christoph Bussenius wrote:
> I am not quite sure what you intend to do, but I guess that you want
> namectrl to change when you change recip_data[0]. To accomplish this,
> you could make recip_data[0] a pointer to a pointer:
>
> char *namectrl = NULL;
> char *name1 = NULL;
> char *name2 = NULL;
>
> typedef struct {
> char **var; /* destination for storage of the data */
> size_t len; /* max len of the data */
> char *(*xlat)(); /* translation routine */
> } DATUM;
>
>
> DATUM recip_data[] = {
> { &namectrl, NAMECTRL_LEN, make_upper },
> { &name1, NAME1_LEN, make_upper },
> { &name2, NAME2_LEN, make_upper },
> [...]
>
Right! As I said, my c is quite rusty. Now as I recall, there was some
problem with the old dos compiler which prevented this syntax but
allowed the erroneous one. That, or I didn't understand what I was
doing and the compiler let me get away with it.... Looking at the code
in more detail, I see that it relies upon some bcd math module I'd written
in assembler, so the odds of this getting ported are pretty
slim. Thanks for the help, though!
Scott Swanson
-
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