Hi! > for (i = 0, p = buffer.data; i < buffer.data_length; i++, p++) > *p = getc(fp); > fclose(fp); > > + return_buffer = malloc(buffer.data_length); > + if (!return_buffer) { > + fprintf(stderr, "malloc failed for return_buffer\n"); > + free(buffer.data); > + exit(1); > + } > + > rc = callrpc(server, program, version, 1, (xdrproc_t)xdr_send_data, > - (char *)&buffer, (xdrproc_t)xdr_receive_data, > - (char *)&return_buffer); > - do_compare(rc, "callrpc", &buffer, return_buffer->data); > + buffer.data, (xdrproc_t)xdr_receive_data, > + return_buffer); > + do_compare(rc, "callrpc", &buffer, return_buffer);
As far as I can see the struct buffer is allocated in the xdr_receive_data function in lib/librpc01.c. So passing a pointer to a pointer to the struct buffer is right thing to do here. Or am I mistaken? -- Cyril Hrubis chru...@suse.cz ------------------------------------------------------------------------------ _______________________________________________ Ltp-list mailing list Ltp-list@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ltp-list