summaryrefslogtreecommitdiffstats
path: root/opkg_state.c
diff options
context:
space:
mode:
Diffstat (limited to 'opkg_state.c')
-rw-r--r--opkg_state.c29
1 files changed, 27 insertions, 2 deletions
diff --git a/opkg_state.c b/opkg_state.c
index ded9683..3dbd6c6 100644
--- a/opkg_state.c
+++ b/opkg_state.c
@@ -16,6 +16,22 @@
*/
#include "libopkg.h"
+#include "opkg_state.h"
+
+
+static char *state_strings[] =
+{
+ "None",
+ "Downloading Package",
+ "Installing Package",
+ "Configuring Package",
+ "Upgrading Package",
+ "Removing Package",
+ "Downloading Repository",
+ "Verifying Repository Signature"
+};
+
+
opkg_state_changed_callback opkg_cb_state;
@@ -27,10 +43,19 @@ opkg_set_current_state (opkg_state_t state, const char *data)
{
if (opkg_state_data)
free (opkg_state_data);
- opkg_state_data = malloc (strlen (data));
- strcpy (opkg_state_data, data);
+ if (data)
+ {
+ opkg_state_data = malloc (strlen (data));
+ strcpy (opkg_state_data, data);
+ }
+ else
+ {
+ opkg_state_data = NULL;
+ }
opkg_state = state;
+
+ printf ("opkg state set to %s: %s\n", state_strings[state], data);
}
void