Update of /cvsroot/perl-win32-gui/Win32-GUI
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19400

Modified Files:
        CHANGELOG GUI.xs MANIFEST 
Log Message:
Fix LoadLibrary and Scintilla with Cygwin paths

Index: GUI.xs
===================================================================
RCS file: /cvsroot/perl-win32-gui/Win32-GUI/GUI.xs,v
retrieving revision 1.61
retrieving revision 1.62
diff -C2 -d -r1.61 -r1.62
*** GUI.xs      23 Jun 2006 23:08:07 -0000      1.61
--- GUI.xs      16 Jul 2006 13:02:29 -0000      1.62
***************
*** 18,21 ****
--- 18,24 ----
  
  #include "GUI.h"
+ #ifdef __CYGWIN__
+ #include <sys/cygwin.h>
+ #endif
  
      /*
***************
*** 179,195 ****
       RETVAL
  
! 
!      
##########################################################################
!      # (@)METHOD:LoadLibrary(NAME)
!      # The LoadLibrary function maps the specified executable module into the 
address space of the calling process.
!      # The return value is a handle to the module.
  HINSTANCE
  LoadLibrary(name)
      char *name;
  CODE:
!     RETVAL = LoadLibrary(name);
  OUTPUT:
!     RETVAL
! 
       
##########################################################################
       # (@)METHOD:FreeLibrary(LIBRARY)
--- 182,233 ----
       RETVAL
  
!     ##########################################################################
!     # (@)METHOD:LoadLibrary(NAME)
!     # The LoadLibrary function maps the specified executable module into the
!     # address space of the calling process.
!     #
!     # The return value is a handle to the module, or undef on failure.
!     #
!     # Directory seperators are normalised to windows seperators (C<\>).
!     #
!     # Under Cygwin, cygwin paths are converted to windows paths
  HINSTANCE
  LoadLibrary(name)
      char *name;
+ PREINIT:
+     char buffer[MAX_PATH+1];
+     int i;
  CODE:
! #ifdef __CYGWIN__
!     /* Under Cygwin, convert paths to windows
!      * paths. E.g. convert /usr/local... and /cygdrive/c/...
!      */
!     if(cygwin_conv_to_win32_path(name,buffer) != 0)
!         XSRETURN_UNDEF;
! #else
!     /* LoadLibrary on Win98 (at least) doesn't like unix
!      * path seperators, so normalise to windows path seperators
!      */
!     for(i=0; *name && (i<MAX_PATH); ++name,++i) {
!         buffer[i] = (*name == '/' ? '\\' : *name);
!     }
!     if(*name) {
!         /* XXX Path too long - although this appears to be what
!          * LoadLibrary would return with such a path, it might be
!          * better to find a more specific error code.  E.g.
!          * ENAMETOOLONG?
!          */
!         SetLastError(ERROR_FILE_NOT_FOUND);
!         errno = ENOENT;
!         XSRETURN_UNDEF;
!     }
!     buffer[i] = 0;
! #endif
!     RETVAL = LoadLibrary(buffer);
!     if(!RETVAL)
!         XSRETURN_UNDEF;
  OUTPUT:
!     RETVAL 
!      
       
##########################################################################
       # (@)METHOD:FreeLibrary(LIBRARY)

Index: CHANGELOG
===================================================================
RCS file: /cvsroot/perl-win32-gui/Win32-GUI/CHANGELOG,v
retrieving revision 1.93
retrieving revision 1.94
diff -C2 -d -r1.93 -r1.94
*** CHANGELOG   16 Jul 2006 11:07:21 -0000      1.93
--- CHANGELOG   16 Jul 2006 13:02:29 -0000      1.94
***************
*** 6,9 ****
--- 6,22 ----
  Win32-GUI ChangeLog
  ===================
+ + [Robert May] : 16 July 2006 - LoadLibrary and Scintilla
+     - GUI.xs - modify LoadLibrary to convert provided path
+       to Win32 style seperators, and under cygwin to convert
+       cygwin paths to Win32 paths.
+     - MANIFEST - correct and update MANIFEST
+     --- Win32::GUI::ReleaseNotes ---
+     - RN_1_04.pod - add information about new LoadLibrary
+       semantics
+     --- Win32::GUI::Scintilla ---
+     - Scintilla.PL - re-write SciLexer.dll loading code to
+       utilise new Win32::GUI::LoadLibrary semantics, and
+       report better diagnostics (Reini Urban).
+ 
  + [Robert May] : 16 July 2006 - Doc updates and add ReleaseNotes
      - various documentation updates

Index: MANIFEST
===================================================================
RCS file: /cvsroot/perl-win32-gui/Win32-GUI/MANIFEST,v
retrieving revision 1.18
retrieving revision 1.19
diff -C2 -d -r1.18 -r1.19
*** MANIFEST    14 Jun 2006 22:26:31 -0000      1.18
--- MANIFEST    16 Jul 2006 13:02:29 -0000      1.19
***************
*** 75,78 ****
--- 75,79 ----
  resource.h
  RichEdit.xs
+ samples/AnimateWindow.pl
  samples/Animation.pl
  samples/BitmapScroll.pl
***************
*** 108,111 ****
--- 109,113 ----
  samples/Tutorial_Part5_twoWindows.pl
  samples/Tutorial_Part9_noDosWindow.pl
+ scripts/win32-gui-demos.pl
  Splitter.xs
  StatusBar.xs
***************
*** 328,331 ****
--- 330,346 ----
  Win32-GUI-Grid/TODO
  Win32-GUI-Grid/TYPEMAP
+ Win32-GUI-ReleaseNotes/Makefile.PL
+ Win32-GUI-ReleaseNotes/ReleaseNotes.pod
+ Win32-GUI-ReleaseNotes/RN_0_0_502.pod
+ Win32-GUI-ReleaseNotes/RN_0_0_588.pod
+ Win32-GUI-ReleaseNotes/RN_0_0_665.pod
+ Win32-GUI-ReleaseNotes/RN_0_0_670.pod
+ Win32-GUI-ReleaseNotes/RN_0_0_671.pod
+ Win32-GUI-ReleaseNotes/RN_0_99_1.pod
+ Win32-GUI-ReleaseNotes/RN_1_0.pod
+ Win32-GUI-ReleaseNotes/RN_1_02.pod
+ Win32-GUI-ReleaseNotes/RN_1_03.pod
+ Win32-GUI-ReleaseNotes/RN_1_04.pod
+ Win32-GUI-ReleaseNotes/t/98_pod.t
  Win32-GUI-Scintilla/Changes
  Win32-GUI-Scintilla/demos/Editor.pl
***************
*** 350,351 ****
--- 365,367 ----
  Win32-GUI-Scintilla/Typemap
  Window.xs
+ META.yml                                 Module meta-data (added by MakeMaker)


Reply via email to