|  | @@ -393,7 +393,8 @@ void ups_general_status_response(char *data)
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  void ups_info_response(char *data)
 | 
	
		
			
				|  |  |  {
 | 
	
		
			
				|  |  | -    uint8_t i = 0;
 | 
	
		
			
				|  |  | +    uint8_t i = 0, j = 0;
 | 
	
		
			
				|  |  | +    char value[20];
 | 
	
		
			
				|  |  |      DBG printf("ups_info_response: %s\r\n", data);
 | 
	
		
			
				|  |  |      if (data[0] != '#') {
 | 
	
		
			
				|  |  |          return;
 | 
	
	
		
			
				|  | @@ -409,21 +410,21 @@ void ups_info_response(char *data)
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      data += 16; //пропускаем поле название компании
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    while (data[0] == ' ') {
 | 
	
		
			
				|  |  | -        data ++;
 | 
	
		
			
				|  |  | -        i ++;
 | 
	
		
			
				|  |  | +    memset(value, 0, sizeof(value));
 | 
	
		
			
				|  |  | +    for (uint8_t i = 0; i < KSTAR_MODEL_LENGTH; i ++) {
 | 
	
		
			
				|  |  | +        if (data[i] != ' ') {
 | 
	
		
			
				|  |  | +            value[j] = data[i];
 | 
	
		
			
				|  |  | +            j ++;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  | -    if (i < 15) {
 | 
	
		
			
				|  |  | -        /*endValue = strpbrk(data," ");
 | 
	
		
			
				|  |  | -        len = endValue - data;*/
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    if (j != 0) {
 | 
	
		
			
				|  |  |          if (UPS.model[0] == 0) {
 | 
	
		
			
				|  |  | -            strncpy(UPS.model, data, KSTAR_MODEL_LENGTH);
 | 
	
		
			
				|  |  | +            strncpy(UPS.model, value, strlen(value));
 | 
	
		
			
				|  |  |              SNMP_SetObjDescr();
 | 
	
		
			
				|  |  |          } else {
 | 
	
		
			
				|  |  | -            strncpy(UPS.model, data, KSTAR_MODEL_LENGTH);
 | 
	
		
			
				|  |  | +            strncpy(UPS.model, data, strlen(value));
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -        data += 11;
 | 
	
		
			
				|  |  |      } else {
 | 
	
		
			
				|  |  |          if (UPS.model[0] == 0) {
 | 
	
		
			
				|  |  |              strcpy(UPS.model, "RTMP II");
 | 
	
	
		
			
				|  | @@ -431,9 +432,8 @@ void ups_info_response(char *data)
 | 
	
		
			
				|  |  |          } else {
 | 
	
		
			
				|  |  |              strcpy(UPS.model, "RTMP II");
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | -        data += 11;
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | +    data += (KSTAR_MODEL_LENGTH + 1);
 | 
	
		
			
				|  |  |      strncpy(UPS.serial, data, 8);
 | 
	
		
			
				|  |  |      data += 8;
 | 
	
		
			
				|  |  |  
 |