mirror of
https://github.com/ipmitool/ipmitool.git
synced 2025-05-10 18:47:22 +00:00
Fix in fru edit
It is now possible to edit field 0 of sections
This commit is contained in:
parent
061272f595
commit
7fc4ce6eae
@ -111,6 +111,7 @@ char * get_fru_area_str(uint8_t * data, uint32_t * offset)
|
|||||||
/* bits 6:7 contain format */
|
/* bits 6:7 contain format */
|
||||||
typecode = ((data[off] & 0xC0) >> 6);
|
typecode = ((data[off] & 0xC0) >> 6);
|
||||||
|
|
||||||
|
// printf("Typecode:%i\n", typecode);
|
||||||
/* bits 0:5 contain length */
|
/* bits 0:5 contain length */
|
||||||
len = data[off++];
|
len = data[off++];
|
||||||
len &= 0x3f;
|
len &= 0x3f;
|
||||||
@ -4352,26 +4353,14 @@ f_type, uint8_t f_index, char *f_string)
|
|||||||
f_index= f_index - 0x30;
|
f_index= f_index - 0x30;
|
||||||
|
|
||||||
/*Seek to field index */
|
/*Seek to field index */
|
||||||
for( i=0; i<f_index; i++ )
|
for( i=0; i<=f_index; i++ )
|
||||||
{
|
{
|
||||||
|
fru_field_offset_tmp = fru_field_offset;
|
||||||
fru_area = (uint8_t *) get_fru_area_str(fru_data, &fru_field_offset);
|
fru_area = (uint8_t *) get_fru_area_str(fru_data, &fru_field_offset);
|
||||||
}
|
}
|
||||||
|
|
||||||
if( (fru_area == NULL ) || strlen((const char *)fru_area) == 0 ) {
|
if( (fru_area == NULL ) || strlen((const char *)fru_area) == 0 ) {
|
||||||
printf("Field not found!\n");
|
printf("Field not found !\n");
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
/* Get original field string */
|
|
||||||
fru_field_offset_tmp = fru_field_offset;
|
|
||||||
fru_area = (uint8_t *) get_fru_area_str(fru_data, &fru_field_offset);
|
|
||||||
if ( (fru_area == NULL ) || strlen((const char *)fru_area) == 0 ) {
|
|
||||||
printf("Field not found!\n");
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
if ( (fru_area == NULL ) || strlen((const char *)fru_area) == 0 ) {
|
|
||||||
printf("Field not found!\n");
|
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -4534,8 +4523,9 @@ ipmi_fru_set_field_string_rebuild(struct ipmi_intf * intf, uint8_t fruId,
|
|||||||
|
|
||||||
/*************************
|
/*************************
|
||||||
3) Seek to field index */
|
3) Seek to field index */
|
||||||
for( i=0; i<f_index; i++ )
|
for( i=0; i<=f_index; i++ )
|
||||||
{
|
{
|
||||||
|
fru_field_offset_tmp = fru_field_offset;
|
||||||
fru_area = (uint8_t *) get_fru_area_str(fru_data_old, &fru_field_offset);
|
fru_area = (uint8_t *) get_fru_area_str(fru_data_old, &fru_field_offset);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -4544,20 +4534,6 @@ ipmi_fru_set_field_string_rebuild(struct ipmi_intf * intf, uint8_t fruId,
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Get original field string */
|
|
||||||
fru_field_offset_tmp = fru_field_offset;
|
|
||||||
fru_area = (uint8_t *) get_fru_area_str(fru_data_old, &fru_field_offset);
|
|
||||||
if ( (fru_area == NULL ) || strlen((const char *)fru_area) == 0 )
|
|
||||||
{
|
|
||||||
printf("Field not found! (2)\n");
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( (fru_area == NULL ) || strlen((const char *)fru_area) == 0 )
|
|
||||||
{
|
|
||||||
printf("Field not found! (3)\n");
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef DBG_RESIZE_FRU
|
#ifdef DBG_RESIZE_FRU
|
||||||
printf("Section Length: %lu\n", fru_section_len);
|
printf("Section Length: %lu\n", fru_section_len);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user