summaryrefslogtreecommitdiffstats
path: root/gisi
diff options
context:
space:
mode:
authorAki Niemi <aki.niemi@nokia.com>2010-08-25 13:04:38 +0300
committerAki Niemi <aki.niemi@nokia.com>2010-08-30 17:54:40 +0300
commitd21c660ae2d3b2d5a0629e6770bca10578f6fb20 (patch)
tree76792f8d2389e51e5208ddaf3d3666ceda12d24d /gisi
parent76fce49e49f4e2e48220f5462cb15e5e446e9c15 (diff)
downloadofono-d21c660ae2d3b2d5a0629e6770bca10578f6fb20.tar.bz2
gisi: Fix counter for indication subscriptions
Diffstat (limited to 'gisi')
-rw-r--r--gisi/client.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/gisi/client.c b/gisi/client.c
index 640484d6..e3785a72 100644
--- a/gisi/client.c
+++ b/gisi/client.c
@@ -473,6 +473,7 @@ int g_isi_subscribe(GIsiClient *client, uint8_t type,
{
GIsiIndication *ind;
GIsiIndication **old;
+ gboolean isnew = TRUE;
if (cb == NULL)
return -EINVAL;
@@ -495,6 +496,7 @@ int g_isi_subscribe(GIsiClient *client, uint8_t type,
if (*old != ind) {
g_free(ind);
ind = *old;
+ isnew = FALSE;
}
ind->func = cb;
@@ -507,8 +509,11 @@ int g_isi_subscribe(GIsiClient *client, uint8_t type,
g_free(ind);
return ret;
}
- client->inds.count++;
}
+
+ if (isnew)
+ client->inds.count++;
+
return 0;
}