Hello community,

here is the log from the commit of package fox16 for openSUSE:Factory checked 
in at 2012-02-14 13:05:41
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/fox16 (Old)
 and      /work/SRC/openSUSE:Factory/.fox16.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "fox16", Maintainer is "[email protected]"

Changes:
--------
--- /work/SRC/openSUSE:Factory/fox16/fox16.changes      2011-12-05 
12:43:37.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.fox16.new/fox16.changes 2012-02-14 
13:05:44.000000000 +0100
@@ -1,0 +2,8 @@
+Fri Dec  9 09:03:24 UTC 2011 - [email protected]
+
+- update to 1.6.44:
+  + removed -Wextra from CXXFLAGS
+  + Force quoting in FXString FXPath::dequote and FXPath::enquote
+    if the string contains at least one whitespace
+
+-------------------------------------------------------------------

Old:
----
  fox-1.6.43.tar.bz2

New:
----
  fox-1.6.44.tar.bz2

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ fox16.spec ++++++
--- /var/tmp/diff_new_pack.g61zhg/_old  2012-02-14 13:05:46.000000000 +0100
+++ /var/tmp/diff_new_pack.g61zhg/_new  2012-02-14 13:05:46.000000000 +0100
@@ -18,7 +18,7 @@
 
 
 Name:           fox16
-Version:        1.6.43
+Version:        1.6.44
 Release:        1
 License:        LGPL-2.1+
 Summary:        Shared Libraries for the FOX Toolkit



++++++ fox-1.6.43.tar.bz2 -> fox-1.6.44.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fox-1.6.43/Makefile.am new/fox-1.6.44/Makefile.am
--- old/fox-1.6.43/Makefile.am  2011-02-05 18:26:26.000000000 +0100
+++ new/fox-1.6.44/Makefile.am  2011-09-24 03:58:06.000000000 +0200
@@ -24,7 +24,7 @@
        cp -r $(distdir)/doc/* /net/linky/mnt/html
 
 drop: dist-all
-       cp $(distdir).tar.gz /net/linkyftp/pub/
-       cp $(distdir).zip /net/linkyftp/pub/
+       cp $(distdir).tar.gz /net/webby/ftp/pub
+       cp $(distdir).zip /net/webby/ftp/pub
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fox-1.6.43/Makefile.in new/fox-1.6.44/Makefile.in
--- old/fox-1.6.43/Makefile.in  2011-02-05 18:26:31.000000000 +0100
+++ new/fox-1.6.44/Makefile.in  2011-09-24 03:58:20.000000000 +0200
@@ -822,8 +822,8 @@
        cp -r $(distdir)/doc/* /net/linky/mnt/html
 
 drop: dist-all
-       cp $(distdir).tar.gz /net/linkyftp/pub/
-       cp $(distdir).zip /net/linkyftp/pub/
+       cp $(distdir).tar.gz /net/webby/ftp/pub
+       cp $(distdir).zip /net/webby/ftp/pub
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fox-1.6.43/configure new/fox-1.6.44/configure
--- old/fox-1.6.43/configure    2011-02-05 18:24:57.000000000 +0100
+++ new/fox-1.6.44/configure    2011-09-24 00:44:38.000000000 +0200
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.68 for fox 1.6.43.
+# Generated by GNU Autoconf 2.68 for fox 1.6.44.
 #
 # Report bugs to <[email protected]>.
 #
@@ -570,8 +570,8 @@
 # Identity of this package.
 PACKAGE_NAME='fox'
 PACKAGE_TARNAME='fox'
-PACKAGE_VERSION='1.6.43'
-PACKAGE_STRING='fox 1.6.43'
+PACKAGE_VERSION='1.6.44'
+PACKAGE_STRING='fox 1.6.44'
 PACKAGE_BUGREPORT='[email protected]'
 PACKAGE_URL=''
 
@@ -1333,7 +1333,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures fox 1.6.43 to adapt to many kinds of systems.
+\`configure' configures fox 1.6.44 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1407,7 +1407,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of fox 1.6.43:";;
+     short | recursive ) echo "Configuration of fox 1.6.44:";;
    esac
   cat <<\_ACEOF
 
@@ -1531,7 +1531,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-fox configure 1.6.43
+fox configure 1.6.44
 generated by GNU Autoconf 2.68
 
 Copyright (C) 2010 Free Software Foundation, Inc.
@@ -2252,7 +2252,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by fox $as_me 1.6.43, which was
+It was created by fox $as_me 1.6.44, which was
 generated by GNU Autoconf 2.68.  Invocation command line was
 
   $ $0 $@
@@ -3071,7 +3071,7 @@
 
 # Define the identity of the package.
  PACKAGE='fox'
- VERSION='1.6.43'
+ VERSION='1.6.44'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -3115,7 +3115,7 @@
 # Set version
 FOX_MAJOR_VERSION=1
 FOX_MINOR_VERSION=6
-FOX_PATCH_LEVEL=43
+FOX_PATCH_LEVEL=44
 
 # Binaries compiled with this patchlevel of FOX will need at least
 # version MAJOR.MINOR.INTERFACE_VERSION to run. The assertion
@@ -17723,7 +17723,7 @@
 
 # Add copious amounts of debugging with gcc
 if test "${GXX}" = "yes" ; then
-  CXXFLAGS="${CXXFLAGS} -Wall -Wextra -Wformat -Woverloaded-virtual -Wshadow"
+  CXXFLAGS="${CXXFLAGS} -Wall -Wformat -Woverloaded-virtual -Wshadow"
   LDFLAGS="-rdynamic ${LDFLAGS}"
 fi
 
@@ -18722,7 +18722,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by fox $as_me 1.6.43, which was
+This file was extended by fox $as_me 1.6.44, which was
 generated by GNU Autoconf 2.68.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -18779,7 +18779,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; 
s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-fox config.status 1.6.43
+fox config.status 1.6.44
 configured by $0, generated by GNU Autoconf 2.68,
   with options \\"\$ac_cs_config\\"
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fox-1.6.43/configure.ac new/fox-1.6.44/configure.ac
--- old/fox-1.6.43/configure.ac 2011-02-05 18:24:21.000000000 +0100
+++ new/fox-1.6.44/configure.ac 2011-09-24 00:43:16.000000000 +0200
@@ -1,7 +1,7 @@
 # Version of the code
 m4_define([fox_major], [1])
 m4_define([fox_minor], [6])
-m4_define([fox_level], [43])
+m4_define([fox_level], [44])
 m4_define([fox_version],[fox_major.fox_minor.fox_level])
 
 # Init
@@ -109,7 +109,7 @@
 
 # Add copious amounts of debugging with gcc
 if test "${GXX}" = "yes" ; then
-  CXXFLAGS="${CXXFLAGS} -Wall -Wextra -Wformat -Woverloaded-virtual -Wshadow"
+  CXXFLAGS="${CXXFLAGS} -Wall -Wformat -Woverloaded-virtual -Wshadow"
   LDFLAGS="-rdynamic ${LDFLAGS}"
 fi
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fox-1.6.43/include/fxver.h 
new/fox-1.6.44/include/fxver.h
--- old/fox-1.6.43/include/fxver.h      2011-02-05 18:25:08.000000000 +0100
+++ new/fox-1.6.44/include/fxver.h      2011-09-24 00:45:17.000000000 +0200
@@ -5,7 +5,7 @@
 // FOX version
 #define FOX_MAJOR  1
 #define FOX_MINOR  6
-#define FOX_LEVEL  43
+#define FOX_LEVEL  44
 
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fox-1.6.43/src/FXPath.cpp 
new/fox-1.6.44/src/FXPath.cpp
--- old/fox-1.6.43/src/FXPath.cpp       2010-09-02 03:00:28.000000000 +0200
+++ new/fox-1.6.44/src/FXPath.cpp       2011-09-24 00:43:16.000000000 +0200
@@ -685,70 +685,97 @@
 #ifndef WIN32                 // UNIX
 
 // Enquote filename to make safe for shell
-FXString FXPath::enquote(const FXString& file,bool forcequotes){
-  FXString result;
-  register FXint i,c;
-  for(i=0; (c=file[i])!='\0'; i++){
-    switch(c){
-      case '\'':              // Quote needs to be escaped
-        result+="\\\'";
-        break;
-      case '\\':              // Backspace needs to be escaped, of course
-        result+="\\\\";
-        break;
-      case '#':
-      case '~':
-        if(i) goto noquote;   // Only quote if at begin of filename
-      case '!':               // Special in csh
-      case '"':
-      case '$':               // Variable substitution
-      case '&':
-      case '(':
-      case ')':
-      case ';':
-      case '<':               // Redirections, pipe
-      case '>':
-      case '|':
-      case '`':               // Command substitution
-      case '^':               // Special in sh
-      case '*':               // Wildcard characters
-      case '?':
-      case '[':
-      case ']':
-      case '\t':              // White space
-      case '\n':
-      case ' ':
-        forcequotes=true;
-      default:                // Normal characters just added
-noquote:result+=c;
-        break;
+FXString FXPath::enquote(const FXString& file,bool force){
+  FXString result(file);
+  if(0<file.length()){
+    register FXint p,q,e,c;
+    p=q=e=0;
+    while(p<file.length()){
+      switch(file[p++]){
+        case '\'':              // Quote needs to be escaped to ...'\''....
+          q+=2;                 // Two if quote is not inside quotation
+          e+=2;                 // Two more if it is
+          continue;
+        case '\\':              // Back slash
+        case '!':               // Special in csh
+        case '"':
+        case '$':               // Variable substitution
+        case '&':
+        case '(':
+        case ')':
+        case ';':
+        case '<':               // Redirections, pipe
+        case '>':
+        case '|':
+        case '`':               // Command substitution
+        case '^':               // Special in sh
+        case '*':               // Wildcard characters
+        case '+':
+        case '?':
+        case '[':
+        case ']':
+        case '\t':              // White space
+        case '\n':
+        case '\v':
+        case ' ':
+          force=true;           // Force quotes
+          q++;
+          continue;
+        case '#':               // Comments
+        case '~':               // Username substitution
+          if(p==1) force=true;  // Force quotes if at beginning
+        default:                // Normal character
+          q++;
+          continue;
+        }
+      }
+    if(force) q+=e+2;           // Each escape adds two, quoting adds two more
+    if(result.length()<q){
+      result.length(q);         // Make longer if quoted
+      p=q=0;
+      if(force) result[q++]='\'';
+      while(p<file.length()){
+        if((c=file[p++])=='\''){        // Quote needs to be escaped
+          if(force) result[q++]='\'';   // End quotation run first
+          result[q++]='\\';
+          result[q++]=c;
+          if(force) result[q++]='\'';   // Start next quotation run
+          continue;
+          }
+        result[q++]=c;
+        }
+      if(force) result[q++]='\'';
       }
+    FXASSERT(result.length()==q);
     }
-  if(forcequotes) return "'"+result+"'";
   return result;
   }
 
 
 // Decode filename to get original again
 FXString FXPath::dequote(const FXString& file){
-  FXString result;
-  register FXint i,c;
-  i=0;
-  while((c=file[i])!='\0' && Ascii::isSpace(c)) i++;
-  if(file[i]=='\''){
-    i++;
-    while((c=file[i])!='\0' && c!='\''){
-      if(c=='\\' && file[i+1]!='\0') c=file[++i];
-      result+=c;
-      i++;
-      }
-    }
-  else{
-    while((c=file[i])!='\0' && !Ascii::isSpace(c)){
-      if(c=='\\' && file[i+1]!='\0') c=file[++i];
-      result+=c;
-      i++;
+  FXString result(file);
+  if(0<result.length()){
+    register FXint e=result.length();
+    register FXint b=0;
+    register FXint r=0;
+    register FXint q=0;
+
+    // Trim tail
+    while(0<e && Ascii::isSpace(result[e-1])) --e;
+
+    // Trim head
+    while(b<e && Ascii::isSpace(result[b])) ++b;
+
+    // Dequote the rest
+    while(b<e){
+      if(result[b]=='\''){ q=!q; b++; continue; }
+      if(result[b]=='\\' && result[b+1]=='\'' && !q){ b++; }
+      result[r++]=result[b++];
       }
+
+    // Trunc to size
+    result.trunc(r);
     }
   return result;
   }
@@ -758,48 +785,96 @@
 #else                         // WINDOWS
 
 // Enquote filename to make safe for shell
-FXString FXPath::enquote(const FXString& file,bool forcequotes){
-  FXString result;
-  register FXint i,c;
-  for(i=0; (c=file[i])!='\0'; i++){
-    switch(c){
-      case '<':               // Redirections
-      case '>':
-      case '|':
-      case '$':
-      case ':':
-      case '*':               // Wildcards
-      case '?':
-      case ' ':               // White space
-        forcequotes=true;
-      default:                // Normal characters just added
-        result+=c;
-        break;
+FXString FXPath::enquote(const FXString& file,bool force){
+  FXString result(file);
+  if(0<file.length()){
+    register FXint p,q,c;
+    p=q=0;
+    while(p<file.length()){
+      switch(file[p++]){
+        case '^':               // Escape character
+        case '"':               // Quote characters
+        case '<':               // Redirection
+        case '>':               // Redirection
+        case '|':               // Command separators
+        case '&':               // Command separators
+        case ':':               // Drive letter separator
+        case '*':               // Wildcard
+        case '?':               // Wildcard
+        case '\\':              // Path separator
+        case '/':               // Alternate path separator
+          q+=2;                 // Room for escape code
+          continue;
+        case ' ':               // White space
+        case '\t':
+        case '\v':
+          force=true;
+        default:                // Normal characters
+          q++;
+          continue;
+        }
+      }
+    if(force) q+=2;             // Surround by quotes as well
+    if(result.length()<q){
+      result.length(q);         // Make longer if quoted
+      p=q=0;
+      if(force) result[q++]='\"';
+      while(p<file.length()){
+        switch(c=file[p++]){
+          case '^':             // Escape character
+          case '"':             // Quote characters
+          case '<':             // Redirection
+          case '>':             // Redirection
+          case '|':             // Command separators
+          case '&':             // Command separators
+          case ':':             // Drive letter separator
+          case '*':             // Wildcard
+          case '?':             // Wildcard
+          case '\\':            // Path separator
+          case '/':             // Alternate path separator
+            result[q++]='^';
+            result[q++]=c;
+            continue;
+          case ' ':             // White space
+          case '\t':
+          case '\v':
+          default:              // Normal characters
+            result[q++]=c;
+            continue;
+          }
+        }
+      if(force) result[q++]='\"';
       }
+    FXASSERT(result.length()==q);
     }
-  if(forcequotes) return "\""+result+"\"";
   return result;
   }
 
 
 // Decode filename to get original again
 FXString FXPath::dequote(const FXString& file){
-  register FXint i,c;
-  FXString result;
-  i=0;
-  while((c=file[i])!='\0' && Ascii::isSpace(c)) i++;
-  if(file[i]=='"'){
-    i++;
-    while((c=file[i])!='\0' && c!='"'){
-      result+=c;
-      i++;
-      }
-    }
-  else{
-    while((c=file[i])!='\0' && !Ascii::isSpace(c)){
-      result+=c;
-      i++;
+  FXString result(file);
+  if(0<result.length()){
+    register FXint e=result.length();
+    register FXint b=0;
+    register FXint r=0;
+    register FXint q=0;
+
+    // Trim tail
+    while(0<e && Ascii::isSpace(result[e-1])) --e;
+
+    // Trim head
+    while(b<e && Ascii::isSpace(result[b])) ++b;
+
+    // Dequote the rest
+    while(b<e){
+      if(result[b]=='\"'){ q=!q; b++; continue; }
+      if(result[b]=='^' && b+1<e){ b++; }
+      result[r++]=result[b++];
       }
+
+    // Trunc to size
+    result.trunc(r);
     }
   return result;
   }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fox-1.6.43/src/FXString.cpp 
new/fox-1.6.44/src/FXString.cpp
--- old/fox-1.6.43/src/FXString.cpp     2010-09-02 03:00:28.000000000 +0200
+++ new/fox-1.6.44/src/FXString.cpp     2011-09-24 00:43:16.000000000 +0200
@@ -2542,19 +2542,6 @@
   return strtod(s.str,NULL);
   }
 
-#if 0
-bool FXIsLongVal(const FXString &,const FXint base)
-  FXchar *end=s.str;
-  strtoll(s.str,&end,base);
-  return (s.str!=end);
-  }
-
-bool FXIsDouble(const FXString &,const FXint base)
-  FXchar *end=s.str;
-  strtod(s.str,&end,base);
-  return (s.str!=end);
-  }
-#endif
 
 // Return utf8 from ascii containing unicode escapes
 FXString fromAscii(const FXString& s){
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fox-1.6.43/src/FXWindow.cpp 
new/fox-1.6.44/src/FXWindow.cpp
--- old/fox-1.6.43/src/FXWindow.cpp     2010-09-02 03:00:28.000000000 +0200
+++ new/fox-1.6.44/src/FXWindow.cpp     2011-09-24 00:43:16.000000000 +0200
@@ -2904,7 +2904,7 @@
     getApp()->xdndRect.w=0;
     getApp()->xdndRect.h=0;
 #else
-    
getApp()->xdndTypes=CreateFileMappingA((HANDLE)0xFFFFFFFF,NULL,PAGE_READWRITE,0,(numtypes+1)*sizeof(FXDragType),"XdndTypeList");
+    
getApp()->xdndTypes=CreateFileMappingA(INVALID_HANDLE_VALUE,NULL,PAGE_READWRITE,0,(numtypes+1)*sizeof(FXDragType),"XdndTypeList");
     if(getApp()->xdndTypes){
       FXDragType 
*dragtypes=(FXDragType*)MapViewOfFile(getApp()->xdndTypes,FILE_MAP_WRITE,0,0,0);
       if(dragtypes){
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fox-1.6.43/src/version.rc 
new/fox-1.6.44/src/version.rc
--- old/fox-1.6.43/src/version.rc       2011-02-05 18:25:08.000000000 +0100
+++ new/fox-1.6.44/src/version.rc       2011-09-24 00:45:17.000000000 +0200
@@ -1,5 +1,5 @@
 1 VERSIONINFO
-FILEVERSION 1,6,43,0
+FILEVERSION 1,6,44,0
 FILEFLAGSMASK 0x3fL
 #ifdef _DEBUG
 FILEFLAGS 0x1L
@@ -15,7 +15,7 @@
 BLOCK "040904b0"
 BEGIN
 VALUE "FileDescription", "FOX GUI Library\0"
-VALUE "FileVersion", "1,6,43.0\0"
+VALUE "FileVersion", "1,6,44.0\0"
 VALUE "LegalCopyright", "GNU Library General Public License\0"
 END
 END


-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to