* [PATCHes] CUPS fixes
@ 2009-08-11 11:27 Bastien Nocera
2009-08-11 22:02 ` Marcel Holtmann
0 siblings, 1 reply; 4+ messages in thread
From: Bastien Nocera @ 2009-08-11 11:27 UTC (permalink / raw)
To: BlueZ development
[-- Attachment #1: Type: text/plain, Size: 150 bytes --]
The CUPS backend would be aborting when scanning for a printer that's
not in bluetoothd known devices. Fixes both bugs I found in my testing.
Cheers
[-- Attachment #2: 0001-Don-t-abort-cups-backend-on-property-change.patch --]
[-- Type: text/x-patch, Size: 963 bytes --]
>From 35ffd5a6dafd7e38c7d8c9502608314a44919302 Mon Sep 17 00:00:00 2001
From: Bastien Nocera <hadess@hadess.net>
Date: Tue, 11 Aug 2009 12:23:39 +0100
Subject: [PATCH 1/2] Don't abort cups backend on property change
Make sure the cups backend doesn't abort when trying to
access a property that's not Discovering.
---
cups/main.c | 3 +++
1 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/cups/main.c b/cups/main.c
index 2fbfe7e..9c24734 100644
--- a/cups/main.c
+++ b/cups/main.c
@@ -506,6 +506,9 @@ static DBusHandlerResult filter_func(DBusConnection *connection, DBusMessage *me
dbus_message_iter_init(message, &iter);
dbus_message_iter_get_basic(&iter, &name);
+ if (name == NULL ||
+ strcmp(name, "Discovering") != 0)
+ return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
dbus_message_iter_next(&iter);
dbus_message_iter_recurse(&iter, &value_iter);
dbus_message_iter_get_basic(&value_iter, &discovering);
--
1.6.2.5
[-- Attachment #3: 0002-Actually-read-the-CreateDevice-reply.patch --]
[-- Type: text/x-patch, Size: 906 bytes --]
>From b29e1cb433454391da92720c3ff87373d9d60500 Mon Sep 17 00:00:00 2001
From: Bastien Nocera <hadess@hadess.net>
Date: Tue, 11 Aug 2009 12:24:58 +0100
Subject: [PATCH 2/2] Actually read the CreateDevice reply
Fixes aborts when the printer isn't a known device.
---
cups/main.c | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/cups/main.c b/cups/main.c
index 9c24734..ba9864f 100644
--- a/cups/main.c
+++ b/cups/main.c
@@ -371,9 +371,9 @@ static void remote_device_found(const char *adapter, const char *bdaddr, const c
if (!reply)
return;
- } else {
- if (dbus_message_get_args(reply, NULL, DBUS_TYPE_OBJECT_PATH, &object_path, DBUS_TYPE_INVALID) == FALSE)
- return;
+ }
+ if (dbus_message_get_args(reply, NULL, DBUS_TYPE_OBJECT_PATH, &object_path, DBUS_TYPE_INVALID) == FALSE) {
+ return;
}
id = device_get_ieee1284_id(adapter, object_path);
--
1.6.2.5
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCHes] CUPS fixes
2009-08-11 11:27 [PATCHes] CUPS fixes Bastien Nocera
@ 2009-08-11 22:02 ` Marcel Holtmann
2009-08-11 22:29 ` Bastien Nocera
0 siblings, 1 reply; 4+ messages in thread
From: Marcel Holtmann @ 2009-08-11 22:02 UTC (permalink / raw)
To: Bastien Nocera; +Cc: BlueZ development
Hi Bastien,
> The CUPS backend would be aborting when scanning for a printer that's
> not in bluetoothd known devices. Fixes both bugs I found in my testing.
can we at least try to keep the coding style. I don't really know what
is so hard about it.
dbus_message_iter_get_basic(&iter, &name);
+ if (name == NULL ||
+ strcmp(name, "Discovering") != 0)
+ return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
dbus_message_iter_next(&iter);
The NULL check and strcmp can go on the same line here.
if (!reply)
return;
- } else {
- if (dbus_message_get_args(reply, NULL, DBUS_TYPE_OBJECT_PATH, &object_path, DBUS_TYPE_INVALID) == FALSE)
- return;
+ }
+ if (dbus_message_get_args(reply, NULL, DBUS_TYPE_OBJECT_PATH, &object_path, DBUS_TYPE_INVALID) == FALSE) {
+ return;
}
I know that the previous one exceeded the 80 char limit, but no need to
keep it.
Regards
Marcel
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCHes] CUPS fixes
2009-08-11 22:02 ` Marcel Holtmann
@ 2009-08-11 22:29 ` Bastien Nocera
2009-08-11 22:32 ` Marcel Holtmann
0 siblings, 1 reply; 4+ messages in thread
From: Bastien Nocera @ 2009-08-11 22:29 UTC (permalink / raw)
To: Marcel Holtmann; +Cc: BlueZ development
[-- Attachment #1: Type: text/plain, Size: 377 bytes --]
On Tue, 2009-08-11 at 15:02 -0700, Marcel Holtmann wrote:
> Hi Bastien,
>
> > The CUPS backend would be aborting when scanning for a printer that's
> > not in bluetoothd known devices. Fixes both bugs I found in my testing.
>
> can we at least try to keep the coding style. I don't really know what
> is so hard about it.
Thanks for all the love.
Updated patches attached.
[-- Attachment #2: 0001-Don-t-abort-cups-backend-on-property-change.patch --]
[-- Type: text/x-patch, Size: 951 bytes --]
>From ca7080b84cae508564e67fc793be926ef2074efe Mon Sep 17 00:00:00 2001
From: Bastien Nocera <hadess@hadess.net>
Date: Tue, 11 Aug 2009 23:26:43 +0100
Subject: [PATCH 1/2] Don't abort cups backend on property change
Make sure the cups backend doesn't abort when trying to
access a property that's not Discovering.
---
cups/main.c | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/cups/main.c b/cups/main.c
index fda3339..96a2e56 100644
--- a/cups/main.c
+++ b/cups/main.c
@@ -506,6 +506,8 @@ static DBusHandlerResult filter_func(DBusConnection *connection, DBusMessage *me
dbus_message_iter_init(message, &iter);
dbus_message_iter_get_basic(&iter, &name);
+ if (name == NULL || strcmp(name, "Discovering") != 0)
+ return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
dbus_message_iter_next(&iter);
dbus_message_iter_recurse(&iter, &value_iter);
dbus_message_iter_get_basic(&value_iter, &discovering);
--
1.6.2.5
[-- Attachment #3: 0002-Actually-read-the-CreateDevice-reply.patch --]
[-- Type: text/x-patch, Size: 915 bytes --]
>From 5fff32b4eacb959c009495a5384bf245b1b3a285 Mon Sep 17 00:00:00 2001
From: Bastien Nocera <hadess@hadess.net>
Date: Tue, 11 Aug 2009 23:27:56 +0100
Subject: [PATCH 2/2] Actually read the CreateDevice reply
Fixes aborts when the printer isn't a known device.
---
cups/main.c | 7 ++++---
1 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/cups/main.c b/cups/main.c
index 96a2e56..da757b0 100644
--- a/cups/main.c
+++ b/cups/main.c
@@ -371,9 +371,10 @@ static void remote_device_found(const char *adapter, const char *bdaddr, const c
if (!reply)
return;
- } else {
- if (dbus_message_get_args(reply, NULL, DBUS_TYPE_OBJECT_PATH, &object_path, DBUS_TYPE_INVALID) == FALSE)
- return;
+ }
+ if (dbus_message_get_args(reply, NULL, DBUS_TYPE_OBJECT_PATH, &object_path,
+ DBUS_TYPE_INVALID) == FALSE) {
+ return;
}
id = device_get_ieee1284_id(adapter, object_path);
--
1.6.2.5
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCHes] CUPS fixes
2009-08-11 22:29 ` Bastien Nocera
@ 2009-08-11 22:32 ` Marcel Holtmann
0 siblings, 0 replies; 4+ messages in thread
From: Marcel Holtmann @ 2009-08-11 22:32 UTC (permalink / raw)
To: Bastien Nocera; +Cc: BlueZ development
Hi Bastien,
> > > The CUPS backend would be aborting when scanning for a printer that's
> > > not in bluetoothd known devices. Fixes both bugs I found in my testing.
> >
> > can we at least try to keep the coding style. I don't really know what
> > is so hard about it.
>
> Thanks for all the love.
you know that I am picky with this ;)
> Updated patches attached.
Patches have been applied. Thanks.
Regards
Marcel
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2009-08-11 22:32 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-08-11 11:27 [PATCHes] CUPS fixes Bastien Nocera
2009-08-11 22:02 ` Marcel Holtmann
2009-08-11 22:29 ` Bastien Nocera
2009-08-11 22:32 ` Marcel Holtmann
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox