377 |
if (arg->type->attrs & NO_FIXED_LENGTH) |
if (arg->type->attrs & NO_FIXED_LENGTH) |
378 |
output ("__s->__m_type.msgtl_number = %s%s%s;\n", |
output ("__s->__m_type.msgtl_number = %s%s%s;\n", |
379 |
star, arg->cname, TARGET_LENGTH_SUFIX); |
star, arg->cname, TARGET_LENGTH_SUFIX); |
380 |
|
if (arg->type->attrs & POLY_TYPE) |
381 |
|
{ |
382 |
|
output ("__s->__m_type.msgtl_type.msgt_type = %s%s%s;\n", |
383 |
|
star, arg->cname, TARGET_POLY_SUFIX); |
384 |
|
} |
385 |
} |
} |
386 |
else if ((arg->type->attrs & NO_FIXED_LENGTH || arg->type->array)) |
else if ((arg->type->attrs & NO_FIXED_LENGTH || arg->type->array)) |
387 |
{ |
{ |
406 |
arg->cname, star, arg->cname, TARGET_LENGTH_SUFIX); |
arg->cname, star, arg->cname, TARGET_LENGTH_SUFIX); |
407 |
output ("__s->__m_type.msgtl_number = %s%s%s;\n", |
output ("__s->__m_type.msgtl_number = %s%s%s;\n", |
408 |
star, arg->cname, TARGET_LENGTH_SUFIX); |
star, arg->cname, TARGET_LENGTH_SUFIX); |
409 |
|
|
410 |
|
if (arg->type->attrs & POLY_TYPE) |
411 |
|
{ |
412 |
|
output ("__s->__m_type.msgtl_type.msgt_type = %s%s%s;\n", |
413 |
|
star, arg->cname, TARGET_POLY_SUFIX); |
414 |
|
} |
415 |
} |
} |
416 |
else |
else |
417 |
{ |
{ |
420 |
arg->cname, arg->cname, TARGET_LENGTH_SUFIX); |
arg->cname, arg->cname, TARGET_LENGTH_SUFIX); |
421 |
output ("__s->__m_type.msgtl_number = %s%s;\n", |
output ("__s->__m_type.msgtl_number = %s%s;\n", |
422 |
arg->cname, TARGET_LENGTH_SUFIX, arg->type->cname); |
arg->cname, TARGET_LENGTH_SUFIX, arg->type->cname); |
423 |
|
|
424 |
|
if (arg->type->attrs & POLY_TYPE) |
425 |
|
{ |
426 |
|
output ("__s->__m_type.msgtl_type.msgt_type = %s%s;\n", |
427 |
|
arg->cname, TARGET_POLY_SUFIX); |
428 |
|
} |
429 |
} |
} |
430 |
} |
} |
431 |
else |
else |
444 |
} |
} |
445 |
else |
else |
446 |
{ |
{ |
447 |
|
char *star = (arg->direction == AD_INOUT && side == side_client) ? "*" : ""; |
448 |
|
|
449 |
|
if (arg->type->attrs & POLY_TYPE) |
450 |
|
{ |
451 |
|
output ("__s->__m_type.msgtl_type.msgt_type = %s%s%s;\n", |
452 |
|
star, arg->cname, TARGET_POLY_SUFIX); |
453 |
|
} |
454 |
|
|
455 |
if (arg->direction == AD_INOUT) |
if (arg->direction == AD_INOUT) |
456 |
{ |
{ |
457 |
if (side == side_client) |
if (side == side_client) |