+
+ /* Queue packet until first respone to 'K' is received */
+ if (wait_for_h && buf[0] != 'H') {
+ struct queued_rx **rxp = &qrx;
+
+ while (*rxp)
+ rxp = &((*rxp)->next);
+
+ *rxp = malloc(sizeof(struct queued_rx));
+ if (!*rxp) {
+ perror("malloc");
+ return 0;
+ }
+
+ memset(*rxp, 0, sizeof(struct queued_rx));
+ (*rxp)->len = outpos-out;
+ (*rxp)->rx = malloc((*rxp)->len);
+ if (!(*rxp)->rx) {
+ perror("malloc");
+ return 0;
+ }
+ memset((*rxp)->rx, 0, (*rxp)->len);
+ memcpy((*rxp)->rx, out, (*rxp)->len);
+
+ return 1;
+ }
+
+ if (verbose) {
+ int i;
+
+ print_timestamp(stdout);
+ printf("LAN < ");
+ for (i = 0; i < outpos-out-2; i++)
+ printf("%c", out[i]);
+ printf("\n");
+ }