| --- src/engine-gpg.c |
| +++ src/engine-gpg.c |
| @@ -62,6 +62,15 @@ |
| building command line to this location. */ |
| char arg[FLEXIBLE_ARRAY_MEMBER]; /* Used if data above is not used. */ |
| }; |
| +struct arg_without_data_s |
| +{ |
| + struct arg_and_data_s *next; |
| + gpgme_data_t data; |
| + int inbound; |
| + int dup_to; |
| + int print_fd; |
| + int *arg_locp; |
| +}; |
| |
| |
| struct fd_data_map_s |
| @@ -335,19 +344,20 @@ |
| a = malloc (offsetof (struct arg_and_data_s, arg)); |
| if (!a) |
| return gpg_error_from_syserror (); |
| - a->data = data; |
| - a->inbound = inbound; |
| - a->arg_locp = NULL; |
| + struct arg_without_data_s *a2 = (struct arg_without_data_s *)a; |
| + a2->data = data; |
| + a2->inbound = inbound; |
| + a2->arg_locp = NULL; |
| |
| if (dup_to == -2) |
| { |
| - a->print_fd = 1; |
| - a->dup_to = -1; |
| + a2->print_fd = 1; |
| + a2->dup_to = -1; |
| } |
| else |
| { |
| - a->print_fd = 0; |
| - a->dup_to = dup_to; |
| + a2->print_fd = 0; |
| + a2->dup_to = dup_to; |
| } |
| |
| if (front) |