summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornagappan <nagappan>2005-08-02 04:59:50 +0000
committernagappan <nagappan>2005-08-02 04:59:50 +0000
commit594f5278f29f4fe1f81857cd80cdd4ddbef01aee (patch)
tree27dca60d116ec3297bb58441084465e8d0ee5dee
parent6cf1e2acda314787ae40bcf9f90ea62f6e8ea4ef (diff)
Few alignment fixes
-rw-r--r--appmap-gen.c7
-rw-r--r--parser.c74
-rw-r--r--utils.c9
3 files changed, 56 insertions, 34 deletions
diff --git a/appmap-gen.c b/appmap-gen.c
index d38c410..b98a9d7 100644
--- a/appmap-gen.c
+++ b/appmap-gen.c
@@ -241,13 +241,8 @@ int main (int argc, char *argv[])
leaked = SPI_exit ();
-#ifdef DEBUG
if (leaked)
- //g_error ("Leaked %d SPI handles", leaked);
- fprintf (stderr, "Leaked %d SPI handles\n", leaked);
-#endif
-
+ g_warning ("Leaked %d SPI handles", leaked);
putenv ("AT_BRIDGE_SHUTDOWN=1");
-
return 0;
}
diff --git a/parser.c b/parser.c
index f8a2f19..5fc3fbc 100644
--- a/parser.c
+++ b/parser.c
@@ -64,7 +64,7 @@ void reset_count()
label = -1;
}
-gchar *get_prefix(char *role)
+gchar *get_prefix (char *role)
{
gchar *prefix = NULL;
if (strcasecmp(role, "page tab" ) == 0)
@@ -348,18 +348,21 @@ static int add_object_menu_type (FILE *fp, char *name, char *object_type, Access
}
str_format = g_strdup_printf ("mnu%s={class=menu, label=%s}\n",
data, name);
+ size = strlen (str_format);
free (data);
}
else
{
if (strcmp (name, "") != 0)
- str_format = g_strdup_printf ("mnu%s={class=menu, label=%s}\n",
- name, name);
+ {
+ str_format = g_strdup_printf ("mnu%s={class=menu, label=%s}\n",
+ name, name);
+ size = strlen (str_format);
+ }
}
#ifdef DEBUG
printf ("%s", str_format);
#endif
- size = strlen (str_format);
fwrite (str_format, sizeof (char), size, fp);
free (str_format);
return 0;
@@ -750,31 +753,47 @@ int generate_obj_info (FILE *fp, Accessible *object, char *obj_str,
return 0;
}
-
int generate_obj_info_index (FILE *fp, Accessible *object, char *obj_str,
char *obj_type, char *obj_name, char delim , int index)
{
- int size = 0,i=0;
- char *str_format = NULL , *parent_name = NULL , *prefix = NULL ,*role = NULL, *temp = NULL; ;
+ int size = 0, i = 0;
+ char *str_format = NULL;
+ char *parent_name = NULL;
+ char *prefix = NULL;
+ char *role = NULL, *temp = NULL;
+ Accessible *child = object;
- while (temp == NULL || (strlen (temp) == 0) )
- {
+ while (1)
+ {
+ char *name;
Accessible *parent;
- parent = Accessible_getParent (object);
- temp = Accessible_getName (parent);
- role = Accessible_getRoleName(parent);
- object = parent;
- //Accessible_unref(parent);
- /* FIX ME : Seg faults due to this line */
+ parent = Accessible_getParent (child);
+ name = Accessible_getName (parent);
+ if (name && (strlen (name) > 0))
+ {
+ role = Accessible_getRoleName (parent);
+ temp = g_strdup (name);
+ g_print ("Name: %s - Role: %s\n", name, role);
+ SPI_freeString (name);
+ if (child != object)
+ Accessible_unref (child);
+ prefix = get_prefix (role);
+ SPI_freeString (role);
+ Accessible_unref (parent);
+ break;
+ }
+ if (child != object)
+ Accessible_unref (child);
+ child = parent;
}
- prefix = get_prefix(role);
- parent_name = strdup(temp);
- if (strchr (temp, ' '))
+
+ if (temp && (strchr (temp, ' ') || strchr (temp, '(') || strchr (temp, '{')))
{
char *data = NULL;
char *stripped_data = NULL;
stripped_data = data = strip_white_space (temp);
+ g_free (temp);
if (strchr (stripped_data, delim))
{
data = strip_delim (stripped_data, delim);
@@ -792,10 +811,13 @@ int generate_obj_info_index (FILE *fp, Accessible *object, char *obj_str,
data = strip_delim (stripped_data, '{');
free (stripped_data);
}
- parent_name = strdup(data);
+ parent_name = g_strdup (data);
free (data);
}
- if (strchr (obj_name, ' ') &&
+ else
+ parent_name = temp;
+
+ if (strchr (obj_name, ' ') &&
strcasecmp (obj_type, "spinstrip_button") != 0)
{
char *data = NULL;
@@ -832,7 +854,7 @@ int generate_obj_info_index (FILE *fp, Accessible *object, char *obj_str,
free (data);
}
else if (strlen (obj_name) == 0 ||
- strcasecmp (obj_type, "spin_button") == 0)
+ strcasecmp (obj_type, "spin_button") == 0)
{
int i = 0;
AccessibleRelation **relation;
@@ -840,12 +862,14 @@ int generate_obj_info_index (FILE *fp, Accessible *object, char *obj_str,
if (AccessibleRelation_getNTargets (*relation) == -1)
{
AccessibleRelation_unref (*relation);
- str_format = g_strdup_printf ("%s%d={class=%s, instance_index=%d,parent=%s%s}\n",
- obj_str, index,
- obj_type, index,prefix,parent_name);
+ str_format = g_strdup_printf ("%s%d={class=%s, instance_index=%d, parent=%s%s}\n",
+ obj_str, index, obj_type,
+ index, prefix, parent_name);
size = strlen (str_format);
fwrite (str_format, sizeof (char), size, fp);
- free (str_format);
+ g_free (str_format);
+ g_free (prefix);
+ g_free (parent_name);
return 0;
}
for (i = 0; i < AccessibleRelation_getNTargets (relation[i]); i++)
diff --git a/utils.c b/utils.c
index b304600..8553108 100644
--- a/utils.c
+++ b/utils.c
@@ -33,7 +33,10 @@ char *strip_white_space (char *data)
int j = 0;
char *stripped_data = NULL;
- stripped_data = (char *) malloc (sizeof (char) * strlen (data) + 1);
+ if (!data)
+ return NULL;
+
+ stripped_data = (char *) calloc (sizeof (char) * strlen (data) + 1, 1);
for (i = 0; i < strlen (data); i++)
{
@@ -50,7 +53,7 @@ char *strip_delim (char *data, char delim)
int j = 0;
char *stripped_data = NULL;
- stripped_data = (char *) malloc (sizeof (char) * strlen (data) + 1);
+ stripped_data = (char *) calloc (sizeof (char) * strlen (data) + 1, 1);
for (i = 0; i < strlen (data); i++)
{
@@ -75,7 +78,7 @@ char *read_line (int fd )
{
if (!data)
{
- data = (char *) malloc (sizeof (char)*len);
+ data = (char *) calloc (sizeof (char)*len, 1);
}
if (size%len == 0)
{