Hi all,

Patch #2: remove unnecessary conversion to ASCII when displaying file 
names in rapip:/ KIO slave. The QString class is capable of handling 
unicode. Without this patch, non-ascii characters (I use cyrillic) are 
displayed as question marks.

Patch #3: self-explaining change. "pls" will crash if the filename 
contains percent signs (which are incorrectly interpreted as format 
specifiers). Haven't tried if an exploit is possible, but perhaps, a 
malicious PDA could gain control over the desktop ;)

Patch #4: revision 2919, while allowed for installation of orange without 
libsynce/dynamite/unshield, broke normal orange installations. The 
problem is that config.h is not installed and thus, WITH_LIBSYNCE is not 
available to decide whether liborange.h should include <synce.h> or 
<liborange_stub.h>. Moreover, liborange_stub.h was not even installed. 
This patch fixes it. Before applying this patch, please do 'svn mv 
lib/liborange.h lib/liborange.h.in'.

Best regards,
Alexey Neyman.
Index: rapip/rapip.cpp
===================================================================
--- rapip/rapip.cpp	(revision 3012)
+++ rapip/rapip.cpp	(working copy)
@@ -151,7 +151,7 @@
                 entry = find_data + i;
 
                 atom.m_uds = KIO::UDS_NAME;
-                atom.m_str = QString::fromUcs2(entry->cFileName).ascii();
+                atom.m_str = QString::fromUcs2(entry->cFileName);
                 udsEntry.append( atom );
 
                 atom.m_uds = KIO::UDS_SIZE;
Index: tools/pls.c
===================================================================
--- tools/pls.c	(revision 3012)
+++ tools/pls.c	(working copy)
@@ -161,7 +161,7 @@
 	 */
 
 	filename = wstr_to_current(entry->cFileName);
-        printf(filename);
+        printf("%s", filename);
 	wstr_free_string(filename);
 	if (entry->dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
 		printf("/");
Index: lib/liborange.h.in
===================================================================
--- lib/liborange.h.in	(revision 3012)
+++ lib/liborange.h.in	(working copy)
@@ -2,11 +2,7 @@
 #ifndef __liborange_h__
 #define __liborange_h__
 
-#if WITH_LIBSYNCE
-#include <synce.h>
-#else
-#include <liborange_stub.h>
-#endif
+#include <@SYNCE_HEADER@>
 
 typedef struct _CabInfo
 {
Index: lib/Makefile.am
===================================================================
--- lib/Makefile.am	(revision 3012)
+++ lib/Makefile.am	(working copy)
@@ -27,4 +27,4 @@
 
 liborange_la_LDFLAGS = -no-undefined -version-info 0:0:0
 
-include_HEADERS = liborange.h
+include_HEADERS = liborange.h liborange_stub.h
Index: configure.ac.in
===================================================================
--- configure.ac.in	(revision 3012)
+++ configure.ac.in	(working copy)
@@ -67,7 +67,11 @@
 if test "x$my_with_libsynce" = "xyes"; then
   PKG_CHECK_MODULES(LIBSYNCE, libsynce >= 0.9.1)
   AC_DEFINE_UNQUOTED(WITH_LIBSYNCE, 1, [Set to 1 when compiled with libsynce])
+  SYNCE_HEADER=synce.h
+else
+  SYNCE_HEADER=liborange_stub.h
 fi
+AC_SUBST([SYNCE_HEADER])
 
 dnl Conditional use of libdynamite
 AC_ARG_WITH(libdynamite,
@@ -205,5 +209,6 @@
 AC_OUTPUT([liborange.pc
            Makefile
            lib/Makefile
-	   lib/liborange_stub.h
+           lib/liborange.h
+           lib/liborange_stub.h
            src/Makefile])
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
SynCE-Devel mailing list
SynCE-Devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synce-devel

Reply via email to