336 if (debug) |
336 if (debug) |
337 fprintf(stdout, "MySQL: disconnected\n"); |
337 fprintf(stdout, "MySQL: disconnected\n"); |
338 |
338 |
339 for (tmpi = ispindels; tmpi; tmpi = oldtmpi) { |
339 for (tmpi = ispindels; tmpi; tmpi = oldtmpi) { |
340 oldtmpi = tmpi->next; |
340 oldtmpi = tmpi->next; |
|
341 if (tmpi->uuid) |
|
342 free(tmpi->uuid); |
|
343 if (tmpi->alias) |
|
344 free(tmpi->alias); |
341 if (tmpi->node) |
345 if (tmpi->node) |
342 free(tmpi->node); |
346 free(tmpi->node); |
343 if (tmpi->beercode) |
347 if (tmpi->beercode) |
344 free(tmpi->beercode); |
348 free(tmpi->beercode); |
345 if (tmpi->beername) |
349 if (tmpi->beername) |
346 free(tmpi->beername); |
350 free(tmpi->beername); |
347 if (tmpi->beeruuid) |
351 if (tmpi->beeruuid) |
348 free(tmpi->beeruuid); |
352 free(tmpi->beeruuid); |
|
353 if (tmpi->mode) |
|
354 free(tmpi->mode); |
349 free(tmpi); |
355 free(tmpi); |
350 } |
356 } |
351 |
357 |
352 for (tmpp = co2meters; tmpp; tmpp = oldtmpp) { |
358 for (tmpp = co2meters; tmpp; tmpp = oldtmpp) { |
353 oldtmpp = tmpp->next; |
359 oldtmpp = tmpp->next; |
757 |
763 |
758 snprintf(query, 511, "UPDATE mon_ispindels SET online='0' WHERE uuid='%s'", uuid); |
764 snprintf(query, 511, "UPDATE mon_ispindels SET online='0' WHERE uuid='%s'", uuid); |
759 bms_mysql_query(query); |
765 bms_mysql_query(query); |
760 free(query); |
766 free(query); |
761 } |
767 } |
|
768 |
|
769 |
|
770 |
|
771 void ispindel_mysql_check(void) |
|
772 { |
|
773 sys_ispindel_list *tmpp; |
|
774 |
|
775 if (ispindels == NULL) |
|
776 return; |
|
777 |
|
778 if (mysql_query(con, "SELECT uuid,alias,beercode,beername,beeruuid,mode FROM mon_ispindels;")) { |
|
779 syslog(LOG_NOTICE, "MySQL: SELECT uuid,alias,beercode,beername,beeruuid,mode FROM mon_ispindels error %u (%s))", mysql_errno(con), mysql_error(con)); |
|
780 } else { |
|
781 res_set = mysql_store_result(con); |
|
782 if (res_set == NULL) { |
|
783 syslog(LOG_NOTICE, "MySQL: mysq_store_result error %u (%s))", mysql_errno(con), mysql_error(con)); |
|
784 } else { |
|
785 while ((row = mysql_fetch_row(res_set)) != NULL) { |
|
786 for (tmpp = ispindels; tmpp; tmpp = tmpp->next) { |
|
787 if (strcmp(tmpp->uuid, row[0]) == 0) { |
|
788 if (strcmp(tmpp->beercode, row[2]) || strcmp(tmpp->beername, row[3]) || strcmp(tmpp->beeruuid, row[4])) { |
|
789 syslog(LOG_NOTICE, "ispindel `%s` change beer to `%s %s`", row[1], row[2], row[3]); |
|
790 if (tmpp->beercode) |
|
791 free(tmpp->beercode); |
|
792 tmpp->beercode = xstrcpy(row[2]); |
|
793 if (tmpp->beername) |
|
794 free(tmpp->beername); |
|
795 tmpp->beername = xstrcpy(row[3]); |
|
796 if (tmpp->beeruuid) |
|
797 free(tmpp->beeruuid); |
|
798 tmpp->beeruuid = xstrcpy(row[4]); |
|
799 } |
|
800 if (strcmp(tmpp->mode, row[5])) { |
|
801 syslog(LOG_NOTICE, "ispindel `%s` change mode `%s`", row[1], row[5]); |
|
802 if (tmpp->mode) |
|
803 free(tmpp->mode); |
|
804 tmpp->mode = xstrcpy(row[5]); |
|
805 } |
|
806 } |
|
807 } |
|
808 } |
|
809 mysql_free_result(res_set); |
|
810 } |
|
811 } |
|
812 } |
|
813 |