branch | redundancy |
changeset 2308 | f842ca3436ba |
parent 2122 | 23414e7559de |
child 2375 | ac3db27d60e0 |
2307:5ccf44ed4b13 | 2308:f842ca3436ba |
---|---|
52 const DataTypeHandler::DataType *DataTypeHandler::findDataType( |
52 const DataTypeHandler::DataType *DataTypeHandler::findDataType( |
53 const string &str |
53 const string &str |
54 ) |
54 ) |
55 { |
55 { |
56 const DataType *d; |
56 const DataType *d; |
57 |
57 |
58 for (d = dataTypes; d->name; d++) |
58 for (d = dataTypes; d->name; d++) |
59 if (str == d->name) |
59 if (str == d->name) |
60 return d; |
60 return d; |
61 |
61 |
62 return NULL; // FIXME exception |
62 return NULL; // FIXME exception |
84 /****************************************************************************/ |
84 /****************************************************************************/ |
85 |
85 |
86 const DataTypeHandler::DataType *DataTypeHandler::findDataType(uint16_t code) |
86 const DataTypeHandler::DataType *DataTypeHandler::findDataType(uint16_t code) |
87 { |
87 { |
88 const DataType *d; |
88 const DataType *d; |
89 |
89 |
90 for (d = dataTypes; d->name; d++) |
90 for (d = dataTypes; d->name; d++) |
91 if (code == d->code) |
91 if (code == d->code) |
92 return d; |
92 return d; |
93 |
93 |
94 return NULL; |
94 return NULL; |
284 typeCode = 0xffff; // raw data |
284 typeCode = 0xffff; // raw data |
285 } |
285 } |
286 |
286 |
287 o << setfill('0'); |
287 o << setfill('0'); |
288 |
288 |
289 switch (type->code) { |
289 switch (typeCode) { |
290 case 0x0001: // bool |
290 case 0x0001: // bool |
291 { |
291 { |
292 int val = (int) *(int8_t *) data; |
292 int val = (int) *(int8_t *) data; |
293 o << "0x" << hex << setw(2) << val |
293 o << "0x" << hex << setw(2) << val |
294 << " " << dec << val << endl; |
294 << " " << dec << val << endl; |
376 break; |
376 break; |
377 case 0xfffb: // sm8 |
377 case 0xfffb: // sm8 |
378 { |
378 { |
379 int8_t val = *(uint8_t *) data; |
379 int8_t val = *(uint8_t *) data; |
380 int8_t smval = val < 0 ? (val & 0x7f) * -1 : val; |
380 int8_t smval = val < 0 ? (val & 0x7f) * -1 : val; |
381 |
381 |
382 o << "0x" << hex << setw(2) << (int) val |
382 o << "0x" << hex << setw(2) << (int) val |
383 << " " << dec << (int) smval << endl; |
383 << " " << dec << (int) smval << endl; |
384 } |
384 } |
385 break; |
385 break; |
386 case 0xfffc: // sm16 |
386 case 0xfffc: // sm16 |
387 { |
387 { |
388 int16_t val = le16_to_cpup(data); |
388 int16_t val = le16_to_cpup(data); |
389 int16_t smval = val < 0 ? (val & 0x7fff) * -1 : val; |
389 int16_t smval = val < 0 ? (val & 0x7fff) * -1 : val; |
390 |
390 |
391 o << "0x" << hex << setw(4) << val |
391 o << "0x" << hex << setw(4) << val |
392 << " " << dec << smval << endl; |
392 << " " << dec << smval << endl; |
393 } |
393 } |
394 break; |
394 break; |
395 case 0xfffd: // sm32 |
395 case 0xfffd: // sm32 |
396 { |
396 { |
397 int32_t val = le32_to_cpup(data); |
397 int32_t val = le32_to_cpup(data); |
398 int32_t smval = val < 0 ? (val & 0x7fffffffUL) * -1 : val; |
398 int32_t smval = val < 0 ? (val & 0x7fffffffUL) * -1 : val; |
399 |
399 |
400 o << "0x" << hex << setw(8) << val |
400 o << "0x" << hex << setw(8) << val |
401 << " " << dec << smval << endl; |
401 << " " << dec << smval << endl; |
402 } |
402 } |
403 break; |
403 break; |
404 case 0xfffe: // sm64 |
404 case 0xfffe: // sm64 |
405 { |
405 { |
406 int64_t val = le64_to_cpup(data); |
406 int64_t val = le64_to_cpup(data); |
407 int64_t smval = |
407 int64_t smval = |
408 val < 0 ? (val & 0x7fffffffffffffffULL) * -1 : val; |
408 val < 0 ? (val & 0x7fffffffffffffffULL) * -1 : val; |
409 |
409 |
410 o << "0x" << hex << setw(16) << val |
410 o << "0x" << hex << setw(16) << val |
411 << " " << dec << smval << endl; |
411 << " " << dec << smval << endl; |
412 } |
412 } |
413 break; |
413 break; |
414 |
414 |