From b0dd4470ccd65d5c0ed74b40b0642ac684cae616 Mon Sep 17 00:00:00 2001 From: Gerhard Jaeger Date: Thu, 30 Jun 2005 08:18:29 +0000 Subject: [PATCH] Fixed OS/2 restriction for dlopening DLLs on OS/2, as it only works for 7.3 filenames for some reason (patches by Franz Bakan . --- backend/dll.c | 6 +++--- tools/RenSaneDlls.cmd | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/backend/dll.c b/backend/dll.c index e2b0d6fd2..684172b5b 100644 --- a/backend/dll.c +++ b/backend/dll.c @@ -378,9 +378,9 @@ load (struct backend *be) while (dir) { -#ifdef HAVE_OS2_H /* only max 8.3 names possible for dlls on OS/2 */ - snprintf (libname, sizeof (libname), "%s/" PREFIX "%.2s%.6s" POSTFIX, - dir, be->name, strlen(be->name)>8 ? (be->name)+strlen(be->name)-6 : +#ifdef HAVE_OS2_H /* only max 7.3 names work with dlopen() for DLLs on OS/2 */ + snprintf (libname, sizeof (libname), "%s/" PREFIX "%.2s%.5s" POSTFIX, + dir, be->name, strlen(be->name)>7 ? (be->name)+strlen(be->name)-5 : (be->name)+2, V_MAJOR); #else snprintf (libname, sizeof (libname), "%s/" PREFIX "%s" POSTFIX, diff --git a/tools/RenSaneDlls.cmd b/tools/RenSaneDlls.cmd index 47cac57b2..2973f85ec 100644 --- a/tools/RenSaneDlls.cmd +++ b/tools/RenSaneDlls.cmd @@ -1,6 +1,6 @@ /* REXX */ /* Convert backend-DLL-filenames according to 8.3 naming convention */ -/* necessary for DLLs on OS/2 (C) Franz Bakan 2004 */ +/* necessary for DLLs on OS/2 (C) Franz Bakan 2004,2005 */ /* */ /* This file is part of the SANE package. */ /* */ @@ -25,8 +25,8 @@ CALL SysLoadFuncs rc = SysFileTree('\usr\lib\sane\libsane-*.dll',dlls,O) DO i=1 TO dlls.0 PARSE VALUE dlls.i WITH front 'libsane-' backend '.dll' - IF length(backend) > 8 THEN - COPY dlls.i front||LEFT(backend,2)||RIGHT(backend,6,' ')||'.dll' + IF length(backend) > 7 THEN + COPY dlls.i front||LEFT(backend,2)||RIGHT(backend,5,' ')||'.dll' ELSE IF length(backend) > 0 THEN COPY dlls.i front||backend||'.dll' DEL dlls.i