| 25 | } |
| 26 | |
| 27 | void sff_show_ascii(const uint8_t *data, unsigned int first_reg, |
| 28 | unsigned int last_reg, const char *name, struct rte_tel_data *d) |
| 29 | { |
| 30 | unsigned int reg, val; |
| 31 | char tmp[3]; |
| 32 | char val_string[SFF_ITEM_VAL_COMPOSE_SIZE]; |
| 33 | |
| 34 | memset(val_string, 0, sizeof(val_string)); |
| 35 | |
| 36 | while (first_reg <= last_reg && data[last_reg] == ' ') |
| 37 | last_reg--; |
| 38 | for (reg = first_reg; reg <= last_reg; reg++) { |
| 39 | val = data[reg]; |
| 40 | if ((val >= 32) && (val <= 126)) { |
| 41 | snprintf(tmp, sizeof(tmp), "%c", val); |
| 42 | strlcat(val_string, tmp, sizeof(val_string)); |
| 43 | } else { |
| 44 | strlcat(val_string, "_", sizeof(val_string)); |
| 45 | } |
| 46 | } |
| 47 | ssf_add_dict_string(d, name, val_string); |
| 48 | } |
| 49 | |
| 50 | void sff_8024_show_oui(const uint8_t *data, int id_offset, struct rte_tel_data *d) |
| 51 | { |
no test coverage detected