Open topic with navigation

TIBCO Rendezvous® 8.8.0

# Datatype Conversion

Rendezvous software converts datatypes in two situations:

| • | As it translates a message to wire format (when sending a message).

| • | As it extracts data from a message field.

Convenience functions that extract a field from a Rendezvous message automatically decode the field’s data to a homologous C type. Wire Format to C Datatype Conversion Matrix specifies the homologous decodings as well as conversions to other types. See also, tibrvMsg_GetField()tibrvMsg_GetField().

Convenience functions that add a field to a Rendezvous message or update an existing field severely restrict type encoding. These functions encode only to homologous types (the solid dots along the diagonal of Wire Format to C Datatype Conversion Matrix indicate pairs of homologous types).

## General Rules

These general rules govern most conversions.

## Supported

| • | All wire format types decode to the homologous C datatypes (in get calls), and all C datatypes encode to the homologous wire format types (in add and update calls).

| • | All wire format numeric scalar types convert to all C numeric scalar types.

| • | All wire format numeric array types convert to all C numeric array types.

## Caution

| • | Converting a wire format opaque or XML byte sequence to a C character string creates a printable string, but the string does not capture any of the data bytes (it captures only the number of bytes).

| • | Converting a wire format signed integer to a C unsigned integer discards the sign.

| • | Converting a wire format numeric type to a C numeric type with fewer bits risks loss of precision.

| • | Converting wire format floating point numbers to C integer types discards the fractional part.

| • | Converting large (out-of-range) wire format floating point numbers to C integers results in the maximum integer of the C target size.

## Not Supported

| • | Array types do not convert to scalar types.

| • | Scalar types do not convert to array types.

| • | C types do not convert to non-homologous wire format types (when adding or updating a field).

## Converting to Boolean

| • | When converting a string to a boolean, all strings in which the first character is either `t` or `T` map to boolean `true`. All other strings map to boolean `false`.

| • | When converting a numeric value to a boolean, zero maps to boolean `false`. All non-zero numeric values map to boolean `true`.

Figure 190: Wire Format to C Datatype Conversion Matrix

Did you find this helpful?

Yes No
Great!
Thanks for taking the time to give us some feedback.
Sorry about that

Why wasn't this helpful? (check all that apply)

Could not find what I was looking for
Instructions confusing or unclear
Instructions did not work

Want to tell us more?

Please select at least one option or provide details about the issue!!

Error occurred while submitting feedback.

Error2 occurred while submitting feedback.

TIBCO Rendezvous®

Copyright © 1997-2025. Cloud Software Group, Inc. All Rights Reserved.