equal
deleted
inserted
replaced
144 *(int16_t *) data.data = cpu_to_le16(val); |
144 *(int16_t *) data.data = cpu_to_le16(val); |
145 } else if (dataType->name == "int32") { |
145 } else if (dataType->name == "int32") { |
146 int32_t val; |
146 int32_t val; |
147 strValue >> val; |
147 strValue >> val; |
148 *(int32_t *) data.data = cpu_to_le32(val); |
148 *(int32_t *) data.data = cpu_to_le32(val); |
|
149 } else if (dataType->name == "int64") { |
|
150 int64_t val; |
|
151 strValue >> val; |
|
152 *(int64_t *) data.data = cpu_to_le64(val); |
149 } else if (dataType->name == "uint8") { |
153 } else if (dataType->name == "uint8") { |
150 uint16_t val; // uint8_t is interpreted as char |
154 uint16_t val; // uint8_t is interpreted as char |
151 strValue >> val; |
155 strValue >> val; |
152 if (val > 0xff) |
156 if (val > 0xff) |
153 throw ios::failure("Value out of range"); |
157 throw ios::failure("Value out of range"); |
158 *(uint16_t *) data.data = cpu_to_le16(val); |
162 *(uint16_t *) data.data = cpu_to_le16(val); |
159 } else if (dataType->name == "uint32") { |
163 } else if (dataType->name == "uint32") { |
160 uint32_t val; |
164 uint32_t val; |
161 strValue >> val; |
165 strValue >> val; |
162 *(uint32_t *) data.data = cpu_to_le32(val); |
166 *(uint32_t *) data.data = cpu_to_le32(val); |
|
167 } else if (dataType->name == "uint64") { |
|
168 uint64_t val; |
|
169 strValue >> val; |
|
170 *(uint64_t *) data.data = cpu_to_le64(val); |
163 } else if (dataType->name == "string" || |
171 } else if (dataType->name == "string" || |
164 dataType->name == "octet_string") { |
172 dataType->name == "octet_string") { |
165 data.length = strValue.str().size(); |
173 data.length = strValue.str().size(); |
166 if (!data.length) { |
174 if (!data.length) { |
167 err << "Zero-size string now allowed!"; |
175 err << "Zero-size string now allowed!"; |