From 2ca94d9be99bd252d50c3df91bddefc0102a3784 Mon Sep 17 00:00:00 2001 From: Philippe Houdoin Date: Tue, 26 Oct 2010 09:26:41 +0000 Subject: [PATCH] Small change lost in the void: search in common addons dir too. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39152 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/tests/add-ons/print/transports/main.cpp | 52 ++++++++++----------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/src/tests/add-ons/print/transports/main.cpp b/src/tests/add-ons/print/transports/main.cpp index 803866fa58..3e1f6db78c 100644 --- a/src/tests/add-ons/print/transports/main.cpp +++ b/src/tests/add-ons/print/transports/main.cpp @@ -11,9 +11,9 @@ int main (int argc, char *argv[]) { - image_id addon; + image_id addon = -1; char *transport; - + if (argc < 2) { printf("Usage: %s []\n", argv[0]); return B_ERROR; @@ -23,40 +23,40 @@ int main (int argc, char *argv[]) transport = argv[1]; - printf("Looking for %s transport addon:", transport); - - // try first in user add-ons directory - printf("In user add-ons directory...\n"); + printf("Looking for %s transport addon:\n", transport); + directory_which which[] = { + B_USER_ADDONS_DIRECTORY, + B_COMMON_ADDONS_DIRECTORY, + B_SYSTEM_ADDONS_DIRECTORY + }; BPath path; - find_directory(B_USER_ADDONS_DIRECTORY, &path); - path.Append("Print/transport"); - path.Append(transport); - - addon = load_add_on(path.Path()); - if (addon < 0) { - // on failure try in system add-ons directory + for (uint32 i = 0; i = B_OK) + break; } - if (addon < 0) { + if (addon == B_ERROR) { // failed to load transport add-on - printf("Failed to load %s print transport add-on!\n", transport); - return B_ERROR; + printf("Failed to load \"%s\" print transport add-on!\n", transport); + return -1; } - - printf("Loaded from %s\n", path.Path()); + + printf("Add-on %d = \"%s\" loaded from %s.\n", (int) addon, + transport, path.Path()); // get init & exit proc BDataIO* (*init_proc)(BMessage*); void (*exit_proc)(void); - + get_image_symbol(addon, "init_transport", B_SYMBOL_TYPE_TEXT, (void **) &init_proc); get_image_symbol(addon, "exit_transport", B_SYMBOL_TYPE_TEXT, (void **) &exit_proc); @@ -75,7 +75,7 @@ int main (int argc, char *argv[]) // TODO: create on the fly a temporary printer folder for testing purpose only msg.AddString("printer_file", "/boot/home/config/settings/printers/test"); BDataIO *io = (*init_proc)(&msg); - + if (io) { printf("done.\nTransport parameters msg =>\n"); msg.PrintToStream(); @@ -89,7 +89,7 @@ int main (int argc, char *argv[]) uint8 buffer[B_PAGE_SIZE]; ssize_t total = 0; ssize_t sz; - + printf("Sending data read from %s file...\n", argv[2]); while((sz = data.Read(buffer, sizeof(buffer))) > 0) { if (io->Write(buffer, sz) < 0) { @@ -101,14 +101,14 @@ int main (int argc, char *argv[]) printf("%ld data bytes sent.\n", total); } // data valid file } // optional data file - + if (exit_proc) { printf("Exiting %s...\n", transport); (*exit_proc)(); } - + unload_add_on(addon); printf("%s unloaded.\n", transport); return B_OK; -} \ No newline at end of file +}