423 } |
423 } |
424 |
424 |
425 } else if (strcmp(kwd, (char *)"ADDRESS") == 0) { |
425 } else if (strcmp(kwd, (char *)"ADDRESS") == 0) { |
426 if (device->address) { |
426 if (device->address) { |
427 if (strcmp(device->address, val)) |
427 if (strcmp(device->address, val)) |
428 syslog(LOG_NOTICE, "Device %s changed address %s to %s", device->uuid, device->address, val); |
428 syslog(LOG_NOTICE, "Device %s changed address `%s' to `%s'", device->uuid, device->address, val); |
429 free(device->address); |
429 free(device->address); |
430 } |
430 } |
431 device->address = xstrcpy(val); |
431 device->address = xstrcpy(val); |
432 |
432 |
433 } else if (strcmp(kwd, (char *)"SUBDEVICE") == 0) { |
433 } else if (strcmp(kwd, (char *)"SUBDEVICE") == 0) { |
445 } |
445 } |
446 |
446 |
447 } else if (strcmp(kwd, (char *)"DESCRIPTION") == 0) { |
447 } else if (strcmp(kwd, (char *)"DESCRIPTION") == 0) { |
448 if (device->description) { |
448 if (device->description) { |
449 if (strcmp(device->description, val)) |
449 if (strcmp(device->description, val)) |
450 syslog(LOG_NOTICE, "Device %s changed description %s to %s", device->uuid, device->description, val); |
450 syslog(LOG_NOTICE, "Device %s changed description `%s' to `%s'", device->uuid, device->description, val); |
451 free(device->description); |
451 free(device->description); |
452 } |
452 } |
453 device->description = xstrcpy(val); |
453 device->description = xstrcpy(val); |
454 |
454 |
455 } else if (strcmp(kwd, (char *)"COMMENT") == 0) { |
455 } else if (strcmp(kwd, (char *)"COMMENT") == 0) { |
456 if (device->comment) { |
456 if (device->comment) { |
457 if (strcmp(device->comment, val)) |
457 if (strcmp(device->comment, val)) |
458 syslog(LOG_NOTICE, "Device %s changed comment %s to %s", device->uuid, device->comment, val); |
458 syslog(LOG_NOTICE, "Device %s changed comment `%s' to `%s'", device->uuid, device->comment, val); |
459 free(device->comment); |
459 free(device->comment); |
460 } |
460 } |
461 device->comment = xstrcpy(val); |
461 device->comment = xstrcpy(val); |
462 |
462 |
463 } |
463 } |
547 } |
547 } |
548 kwd = strtok(ibuf, ",\0"); |
548 kwd = strtok(ibuf, ",\0"); |
549 val = strtok(NULL, "\0"); |
549 val = strtok(NULL, "\0"); |
550 if (kwd) { |
550 if (kwd) { |
551 if (strcmp(kwd, (char *)"NAME") == 0) { |
551 if (strcmp(kwd, (char *)"NAME") == 0) { |
|
552 if (val && Config.name && strcmp(val, Config.name)) |
|
553 syslog(LOG_NOTICE, "Global name `%s' to `%s'", Config.name, val); |
552 if (Config.name) |
554 if (Config.name) |
553 free(Config.name); |
555 free(Config.name); |
554 if (val) |
556 if (val) |
555 Config.name = xstrcpy(val); |
557 Config.name = xstrcpy(val); |
556 else |
558 else |
557 Config.name = NULL; |
559 Config.name = NULL; |
558 |
560 |
559 } else if (val && (strcmp(kwd, (char *)"PORT") == 0)) { |
561 } else if (val && (strcmp(kwd, (char *)"PORT") == 0)) { |
560 if (sscanf(val, "%d", &ival) == 1) |
562 if (sscanf(val, "%d", &ival) == 1) { |
|
563 if (Config.my_port != ival) |
|
564 syslog(LOG_NOTICE, "Global port %d to %d", Config.my_port, ival); |
561 Config.my_port = ival; |
565 Config.my_port = ival; |
|
566 } |
562 |
567 |
563 } else if (val && (strcmp(kwd, (char *)"TEMPFORMAT") == 0)) { |
568 } else if (val && (strcmp(kwd, (char *)"TEMPFORMAT") == 0)) { |
564 if ((val[0] == 'C') || (val[0] == 'F')) |
569 if ((val[0] == 'C') || (val[0] == 'F')) { |
|
570 if (Config.tempFormat != val[0]) |
|
571 syslog(LOG_NOTICE, "Global port %c to %c", Config.tempFormat, val[0]); |
565 Config.tempFormat = val[0]; |
572 Config.tempFormat = val[0]; |
|
573 } |
566 |
574 |
567 } else if (strcmp(kwd, (char *)"TEMP_ADDRESS") == 0) { |
575 } else if (strcmp(kwd, (char *)"TEMP_ADDRESS") == 0) { |
|
576 if (val && Config.temp_address && (strcmp(val, Config.temp_address))) |
|
577 syslog(LOG_NOTICE, "Global temperature address `%s' to `%s'", Config.temp_address, val); |
568 if (Config.temp_address) { |
578 if (Config.temp_address) { |
569 device_count(FALSE, Config.temp_address); |
579 device_count(FALSE, Config.temp_address); |
570 free(Config.temp_address); |
580 free(Config.temp_address); |
571 } |
581 } |
572 if (val) { |
582 if (val) { |
574 device_count(TRUE, Config.temp_address); |
584 device_count(TRUE, Config.temp_address); |
575 } else |
585 } else |
576 Config.temp_address = NULL; |
586 Config.temp_address = NULL; |
577 |
587 |
578 } else if (strcmp(kwd, (char *)"HUM_ADDRESS") == 0) { |
588 } else if (strcmp(kwd, (char *)"HUM_ADDRESS") == 0) { |
|
589 if (val && Config.hum_address && (strcmp(val, Config.hum_address))) |
|
590 syslog(LOG_NOTICE, "Global humidity address `%s' to `%s'", Config.hum_address, val); |
579 if (Config.hum_address) { |
591 if (Config.hum_address) { |
580 device_count(FALSE, Config.hum_address); |
592 device_count(FALSE, Config.hum_address); |
581 free(Config.hum_address); |
593 free(Config.hum_address); |
582 } |
594 } |
583 if (val) { |
595 if (val) { |
586 } else |
598 } else |
587 Config.hum_address = NULL; |
599 Config.hum_address = NULL; |
588 |
600 |
589 #ifdef HAVE_WIRINGPI_H |
601 #ifdef HAVE_WIRINGPI_H |
590 } else if (val && (strcmp(kwd, (char *)"LCD_COLS") == 0)) { |
602 } else if (val && (strcmp(kwd, (char *)"LCD_COLS") == 0)) { |
591 if (sscanf(val, "%d", &ival) == 1) |
603 if (sscanf(val, "%d", &ival) == 1) { |
|
604 if (Config.lcd_cols != ival) |
|
605 syslog(LOG_NOTICE, "Global LCD columns %d to %d", Config.lcd_cols, ival); |
592 Config.lcd_cols = ival; |
606 Config.lcd_cols = ival; |
|
607 } |
593 |
608 |
594 } else if (val && (strcmp(kwd, (char *)"LCD_ROWS") == 0)) { |
609 } else if (val && (strcmp(kwd, (char *)"LCD_ROWS") == 0)) { |
595 if (sscanf(val, "%d", &ival) == 1) |
610 if (sscanf(val, "%d", &ival) == 1) { |
|
611 if (Config.lcd_rows != ival) |
|
612 syslog(LOG_NOTICE, "Global LCD rows %d to %d", Config.lcd_rows, ival); |
596 Config.lcd_rows = ival; |
613 Config.lcd_rows = ival; |
|
614 } |
597 #endif |
615 #endif |
598 } |
616 } |
599 } |
617 } |
600 } |
618 } |
601 } |
619 } |