opkg: split out opkg.h
[oweals/opkg-lede.git] / libopkg / opkg_state.c
index 2cc85949374ca01e03b11b0c814eb662d5125026..f094de7a5385a5d0127475988beb61127e6e9193 100644 (file)
@@ -39,14 +39,13 @@ static opkg_state_t opkg_state = 0;
 static char *opkg_state_data = NULL;
 
 void
-opkg_set_current_state (opkg_state_t state, const char *data)
+opkg_set_current_state (opkg_conf_t *conf, opkg_state_t state, const char *data)
 {
   if (opkg_state_data)
     free (opkg_state_data);
   if (data)
   {
-    opkg_state_data = malloc (strlen (data));
-    strcpy (opkg_state_data, data);
+    opkg_state_data = strdup (data);
   }
   else
   {
@@ -61,7 +60,10 @@ opkg_set_current_state (opkg_state_t state, const char *data)
   }
 
 
-  printf ("opkg state set to %s: %s\n", state_strings[state], data);
+  if (data == NULL)
+    opkg_message (conf, OPKG_INFO, "opkg state set to %s\n", state_strings[state]);
+  else
+    opkg_message (conf, OPKG_INFO, "opkg state set to %s: %s\n", state_strings[state], data);
 }
 
 void