gnu: Add kiki.
* gnu/packages/games.scm (kiki): New variable. * gnu/packages/patches/kiki-level-selection-crash.patch, gnu/packages/patches/kiki-makefile.patch, gnu/packages/patches/kiki-missing-includes.patch, gnu/packages/patches/kiki-portability-64bit.patch: New patches. * gnu/local.mk (dist_patch_DATA): Add them.
This commit is contained in:
		
							parent
							
								
									0da0f434c6
								
							
						
					
					
						commit
						bd71525b7a
					
				
					 6 changed files with 560 additions and 0 deletions
				
			
		|  | @ -666,6 +666,10 @@ dist_patch_DATA =						\ | |||
|   %D%/packages/patches/jq-CVE-2015-8863.patch			\
 | ||||
|   %D%/packages/patches/kdbusaddons-kinit-file-name.patch	\
 | ||||
|   %D%/packages/patches/khmer-use-libraries.patch                \
 | ||||
|   %D%/packages/patches/kiki-level-selection-crash.patch		\
 | ||||
|   %D%/packages/patches/kiki-makefile.patch			\
 | ||||
|   %D%/packages/patches/kiki-missing-includes.patch		\
 | ||||
|   %D%/packages/patches/kiki-portability-64bit.patch		\
 | ||||
|   %D%/packages/patches/kmod-module-directory.patch		\
 | ||||
|   %D%/packages/patches/kobodeluxe-paths.patch			\
 | ||||
|   %D%/packages/patches/kobodeluxe-enemies-pipe-decl.patch	\
 | ||||
|  |  | |||
|  | @ -89,6 +89,7 @@ | |||
|   #:use-module (gnu packages pkg-config) | ||||
|   #:use-module (gnu packages databases) | ||||
|   #:use-module (gnu packages sdl) | ||||
|   #:use-module (gnu packages swig) | ||||
|   #:use-module (gnu packages texinfo) | ||||
|   #:use-module (gnu packages check) | ||||
|   #:use-module (gnu packages fonts) | ||||
|  | @ -3552,3 +3553,99 @@ over 100 user-created campaigns.") | |||
|                    license:cc0 | ||||
|                    license:cc-by3.0 | ||||
|                    license:cc-by-sa3.0)))) | ||||
| 
 | ||||
| (define-public kiki | ||||
|   (package | ||||
|     (name "kiki") | ||||
|     (version "1.0.2") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (string-append "mirror://sourceforge/kiki/kiki-src/" | ||||
|                                   version "/kiki-" version "-src.tgz")) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "0ihjdsxbn8z3cz0gpcprafiipcqaiskgdnh1rhmw4qff8dszalbn")) | ||||
|               (modules '((guix build utils))) | ||||
|               (snippet | ||||
|                '(begin | ||||
|                   (for-each delete-file (find-files "." "\\.dll$")) | ||||
|                   #t)) | ||||
|               (patches | ||||
|                (search-patches "kiki-level-selection-crash.patch" | ||||
|                                "kiki-makefile.patch" | ||||
|                                "kiki-missing-includes.patch" | ||||
|                                "kiki-portability-64bit.patch")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (arguments | ||||
|      `(#:tests? #f ; there are no tests | ||||
|        #:make-flags '("CXX=g++") | ||||
|        #:phases | ||||
|        (modify-phases %standard-phases | ||||
|          (replace 'configure | ||||
|            (lambda* (#:key inputs outputs #:allow-other-keys) | ||||
|              (setenv "CPLUS_INCLUDE_PATH" | ||||
|                      (string-append (assoc-ref inputs "sdl-union") | ||||
|                                     "/include/SDL:" | ||||
|                                     (assoc-ref inputs "python") | ||||
|                                     "/include/python2.7:" | ||||
|                                     (getenv "CPLUS_INCLUDE_PATH"))) | ||||
|              (substitute* "src/main/main.cpp" | ||||
|                (("#include <SDL.h>" line) | ||||
|                 (string-append line " | ||||
| #define K_INCLUDE_GLUT | ||||
| #include \"KIncludeTools.h\"")) | ||||
|                (("// initialize SDL" line) | ||||
|                 (string-append "glutInit(&argc,argv);\n" line))) | ||||
|              (substitute* "src/main/KikiController.cpp" | ||||
|                (("getenv\\(\"KIKI_HOME\"\\)") | ||||
|                 (string-append "\"" (assoc-ref outputs "out") "/share/kiki/\""))) | ||||
|              (substitute* "linux/Makefile" | ||||
|                (("CXXOPTS =" line) | ||||
|                 (string-append line " -fpermissive")) | ||||
|                (("PYTHON_VERSION=.*") "PYTHON_VERSION=2.7") | ||||
|                (("PYTHONHOME =.*") | ||||
|                 (string-append "PYTHONHOME = " | ||||
|                                (assoc-ref inputs "python") | ||||
|                                "/lib/python2.7/")) | ||||
|                (("\\$\\(GLLIBS\\)" line) | ||||
|                 (string-append line " -lm -lpython2.7"))) | ||||
|              (substitute* "src/main/KikiPythonWidget.h" | ||||
|                (("#define __KikiPythonWidget" line) | ||||
|                 (string-append line "\n#include \"KikiPython.h\""))) | ||||
|              #t)) | ||||
|          (add-before 'build 'build-kodilib | ||||
|            (lambda* (#:key make-flags #:allow-other-keys) | ||||
|              (with-directory-excursion "kodilib/linux" | ||||
|                (zero? (apply system* "make" make-flags))))) | ||||
|          (add-after 'build-kodilib 'chdir | ||||
|            (lambda _ (chdir "linux") #t)) | ||||
|          (replace 'install | ||||
|            (lambda* (#:key outputs #:allow-other-keys) | ||||
|              (let* ((out   (assoc-ref outputs "out")) | ||||
|                     (bin   (string-append out "/bin")) | ||||
|                     (share (string-append out "/share/kiki"))) | ||||
|                (mkdir-p bin) | ||||
|                (mkdir-p share) | ||||
|                (install-file "kiki" bin) | ||||
|                (copy-recursively "../py" (string-append share "/py")) | ||||
|                (copy-recursively "../sound" (string-append share "/sound")) | ||||
|                #t)))))) | ||||
|     (inputs | ||||
|      `(("glu" ,glu) | ||||
|        ;; Kiki builds fine with freeglut 3.0.0 but segfaults on start. | ||||
|        ("freeglut" ,freeglut-2.8) | ||||
|        ("sdl-union" ,(sdl-union (list sdl | ||||
|                                       sdl-mixer | ||||
|                                       sdl-image))) | ||||
|        ("python" ,python-2))) | ||||
|     (native-inputs | ||||
|      `(("swig" ,swig))) | ||||
|     (home-page "http://kiki.sourceforge.net/") | ||||
|     (synopsis "3D puzzle game") | ||||
|     (description "Kiki the nano bot is a 3D puzzle game.  It is basically a | ||||
| mixture of the games Sokoban and Kula-World.  Your task is to help Kiki, a | ||||
| small robot living in the nano world, repair its maker.") | ||||
|     ;; See <http://metadata.ftp-master.debian.org/changelogs/main/k/ | ||||
|     ;; kiki-the-nano-bot/kiki-the-nano-bot_1.0.2+dfsg1-4_copyright> | ||||
|     ;; for a statement from the author. | ||||
|     (license license:public-domain))) | ||||
|  |  | |||
							
								
								
									
										19
									
								
								gnu/packages/patches/kiki-level-selection-crash.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								gnu/packages/patches/kiki-level-selection-crash.patch
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,19 @@ | |||
| Downloaded from https://anonscm.debian.org/viewvc/pkg-games/packages/trunk/kiki-the-nano-bot/debian/patches/level-selection-with-no-levels-solved.patch?revision=8291&view=co | ||||
| 
 | ||||
| Kiki crashes if the user tries to use the level selection menu before | ||||
| finishing any level. | ||||
| 
 | ||||
| Peter De Wachter (pdewacht@gmail.com) | ||||
| placed in the public domain | ||||
| 
 | ||||
| --- a/py/levelselection.py
 | ||||
| +++ b/py/levelselection.py
 | ||||
| @@ -25,6 +25,8 @@
 | ||||
|      # ............................................................................................................     | ||||
|       | ||||
|      last_level = highscore.getLastAvailableLevel() | ||||
| +    if last_level < 0:
 | ||||
| +        last_level = 0
 | ||||
|      current_level = (level_index >= 0) and level_index or last_level  | ||||
|           | ||||
|      world.max_level_index = last_level | ||||
							
								
								
									
										57
									
								
								gnu/packages/patches/kiki-makefile.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										57
									
								
								gnu/packages/patches/kiki-makefile.patch
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,57 @@ | |||
| Downloaded from https://anonscm.debian.org/viewvc/pkg-games/packages/trunk/kiki-the-nano-bot/debian/patches/Makefile.patch?revision=15681&view=co | ||||
| 
 | ||||
| Makefile fixes: | ||||
|  - Make CXXFLAGS, CPPFLAGS, LDFLAGS available for user-specified flags. | ||||
|  - run SWIG before compiling | ||||
| 
 | ||||
| Peter De Wachter (pdewacht@gmail.com) | ||||
| placed in the public domain | ||||
| 
 | ||||
| --- a/kodilib/linux/Makefile
 | ||||
| +++ b/kodilib/linux/Makefile
 | ||||
| @@ -21,7 +21,7 @@
 | ||||
|   | ||||
|  INCLUDES = $(KODI_INCLUDES) $(X11_INCLUDES) $(SDL_INCLUDES) | ||||
|   | ||||
| -CXXFLAGS = $(INCLUDES) $(SDL_CFLAGS)
 | ||||
| +CXXOPTS = -Wall $(INCLUDES) $(SDL_CFLAGS) $(CPPFLAGS) $(CXXFLAGS)
 | ||||
|   | ||||
|  src =  \ | ||||
|  	$(KODISRCDIR)/handler/KEventHandler.cpp \ | ||||
| @@ -95,4 +95,4 @@
 | ||||
|  	$(RM) -f $(obj) libkodi.a | ||||
|   | ||||
|  %.o:    %.cpp | ||||
| -	$(CXX) -c $(CXXFLAGS) -o $@ $<
 | ||||
| +	$(CXX) -c $(CXXOPTS) -o $@ $<
 | ||||
| --- a/linux/Makefile
 | ||||
| +++ b/linux/Makefile
 | ||||
| @@ -46,7 +46,7 @@
 | ||||
|   | ||||
|  INCLUDES = $(KIKI_INCLUDES) $(X11_INCLUDES) $(PYTHON_INCLUDES) | ||||
|   | ||||
| -CXXFLAGS = $(INCLUDES) $(SDLCFLAGS)
 | ||||
| +CXXOPTS = -Wall $(INCLUDES) $(SDLCFLAGS) $(CPPFLAGS) $(CXXFLAGS)
 | ||||
|   | ||||
|  src =  \ | ||||
|  	$(KIKISRC)/base/KikiAction.cpp \ | ||||
| @@ -105,8 +105,10 @@
 | ||||
|  obj = $(src:.cpp=.o) | ||||
|   | ||||
|  kiki: $(KIKISRC)/../SWIG/KikiPy_wrap.cpp $(obj) | ||||
| -	-(cd ../SWIG; swig -c++ -python -globals kiki -o KikiPy_wrap.cpp KikiPy.i; cp kiki.py ../py)
 | ||||
| -	$(CXX) $(obj) $(KODILIB) -o kiki $(GLLIBS) $(SDLLIBS) $(PYTHONLIBS)
 | ||||
| +	$(CXX) $(LDFLAGS) $(obj) $(KODILIB) -o kiki $(GLLIBS) $(SDLLIBS) $(PYTHONLIBS)
 | ||||
| +
 | ||||
| +$(KIKISRC)/../SWIG/KikiPy_wrap.cpp: $(wildcard ../SWIG/*.i)
 | ||||
| +	(cd ../SWIG && swig -c++ -python -globals kiki -DSWIG_PYTHON_LEGACY_BOOL -o KikiPy_wrap.cpp KikiPy.i && cp kiki.py ../py)
 | ||||
|   | ||||
|  obj-clean: | ||||
|  	$(RM) -f $(obj) | ||||
| @@ -115,5 +117,5 @@
 | ||||
|  	$(RM) -f $(obj) kiki | ||||
|   | ||||
|  %.o:    %.cpp | ||||
| -	$(CXX) -c $(CXXFLAGS) -o $@ $<
 | ||||
| +	$(CXX) -c $(CXXOPTS) -o $@ $<
 | ||||
|   | ||||
							
								
								
									
										55
									
								
								gnu/packages/patches/kiki-missing-includes.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										55
									
								
								gnu/packages/patches/kiki-missing-includes.patch
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,55 @@ | |||
| Downloaded from https://anonscm.debian.org/viewvc/pkg-games/packages/trunk/kiki-the-nano-bot/debian/patches/missing-includes.patch?revision=7984&view=co | ||||
| 
 | ||||
| Status: in upstream CVS | ||||
| 
 | ||||
| --- a/kodilib/src/handler/KPickable.h
 | ||||
| +++ b/kodilib/src/handler/KPickable.h
 | ||||
| @@ -8,6 +8,7 @@
 | ||||
|   | ||||
|  #include "KIntrospection.h" | ||||
|  #include <vector> | ||||
| +#include <limits.h>
 | ||||
|   | ||||
|  #define DEBUG_PICKING		false | ||||
|   | ||||
| --- a/kodilib/src/tools/KIntrospection.h
 | ||||
| +++ b/kodilib/src/tools/KIntrospection.h
 | ||||
| @@ -11,6 +11,7 @@
 | ||||
|  #endif | ||||
|   | ||||
|  #include <string> | ||||
| +#include <string.h>
 | ||||
|   | ||||
|  // -------------------------------------------------------------------------------------------------------- | ||||
|  class KClassInfo | ||||
| --- a/kodilib/src/tools/KStringTools.cpp
 | ||||
| +++ b/kodilib/src/tools/KStringTools.cpp
 | ||||
| @@ -6,7 +6,7 @@
 | ||||
|  #include "KStringTools.h" | ||||
|  #include "KVector.h" | ||||
|   | ||||
| -#include <sys/types.h> 	// INT_MAX
 | ||||
| +#include <limits.h> // INT_MAX
 | ||||
|  #include <stdio.h> | ||||
|   | ||||
|  // -------------------------------------------------------------------------------------------------------- | ||||
| --- a/kodilib/src/tools/KStringTools.h
 | ||||
| +++ b/kodilib/src/tools/KStringTools.h
 | ||||
| @@ -9,6 +9,7 @@
 | ||||
|  #include <string> | ||||
|  #include <vector> | ||||
|  #include <stdarg.h> | ||||
| +#include <string.h>
 | ||||
|   | ||||
|  // -------------------------------------------------------------------------------------------------------- | ||||
|   | ||||
| --- a/kodilib/src/tools/KXMLTools.cpp
 | ||||
| +++ b/kodilib/src/tools/KXMLTools.cpp
 | ||||
| @@ -7,6 +7,7 @@
 | ||||
|  #include "KConsole.h" | ||||
|  #include "KSeparatedMatrix.h" | ||||
|  #include <stdio.h> | ||||
| +#include <stdlib.h>
 | ||||
|   | ||||
|  // -------------------------------------------------------------------------------------------------------- | ||||
|  std::string kXMLTag ( const std::string & name, const std::string & attributes, int depth ) | ||||
							
								
								
									
										328
									
								
								gnu/packages/patches/kiki-portability-64bit.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										328
									
								
								gnu/packages/patches/kiki-portability-64bit.patch
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,328 @@ | |||
| This patch was downloaded from Debian: | ||||
| https://anonscm.debian.org/viewvc/pkg-games/packages/trunk/kiki-the-nano-bot/debian/patches/portability-64bit.patch?revision=7984&view=co | ||||
| 
 | ||||
| Make 64-bit clean (string positions don't fit in an int on 64-bit machines) | ||||
| 
 | ||||
| Peter De Wachter (pdewacht@gmail.com) | ||||
| placed in the public domain | ||||
| 
 | ||||
| Status: in upstream CVS | ||||
| 
 | ||||
| --- a/kodilib/src/tools/KFileTools.cpp
 | ||||
| +++ b/kodilib/src/tools/KFileTools.cpp
 | ||||
| @@ -214,8 +214,8 @@
 | ||||
|  // -------------------------------------------------------------------------------------------------------- | ||||
|  string kFileSuffix ( const string & path ) | ||||
|  { | ||||
| -    unsigned int lastDotPos = path.rfind(".");
 | ||||
| -    unsigned int lastSlashPos = path.rfind(kPathSep);
 | ||||
| +    std::string::size_type lastDotPos = path.rfind(".");
 | ||||
| +    std::string::size_type lastSlashPos = path.rfind(kPathSep);
 | ||||
|   | ||||
|      if (lastDotPos < path.size() - 1 && (lastDotPos > lastSlashPos || lastSlashPos == string::npos)) | ||||
|      { | ||||
| @@ -228,7 +228,7 @@
 | ||||
|  string kFileDirName ( const string & path ) | ||||
|  { | ||||
|  	string native = kFileNativePath(path); | ||||
| -    unsigned int lastSlashPos = native.rfind(kPathSep);
 | ||||
| +    std::string::size_type lastSlashPos = native.rfind(kPathSep);
 | ||||
|      if (lastSlashPos < native.size()) | ||||
|      { | ||||
|          return native.substr(0, lastSlashPos+1); | ||||
| @@ -241,7 +241,7 @@
 | ||||
|  { | ||||
|  	string native = kFileNativePath(path); | ||||
|      string baseName = native; | ||||
| -    unsigned int lastSlashPos = native.rfind(kPathSep);
 | ||||
| +    std::string::size_type lastSlashPos = native.rfind(kPathSep);
 | ||||
|      if (lastSlashPos < native.size() - 1)  | ||||
|      { | ||||
|          baseName = native.substr(lastSlashPos+1); | ||||
| --- a/kodilib/src/tools/KKeyTools.cpp
 | ||||
| +++ b/kodilib/src/tools/KKeyTools.cpp
 | ||||
| @@ -170,7 +170,7 @@
 | ||||
|  // -------------------------------------------------------------------------------------------------------- | ||||
|  int kKeyGetDisplayWidthForKey ( const std::string & keyName ) | ||||
|  { | ||||
| -    unsigned int keyPos = keyName.find('_', 0);
 | ||||
| +    std::string::size_type keyPos = keyName.find('_', 0);
 | ||||
|      if (keyPos == std::string::npos)  | ||||
|      { | ||||
|          return kKeyGetDisplayWidthForPureKey(keyName) + KDL_MOD_KEY_SPACING; | ||||
| @@ -313,7 +313,7 @@
 | ||||
|  int kKeyDisplayKey ( const std::string & keyName, const KPosition & pos ) | ||||
|  { | ||||
|      KPosition start = pos; | ||||
| -    unsigned int keyPos = keyName.find('_', 0);
 | ||||
| +    std::string::size_type keyPos = keyName.find('_', 0);
 | ||||
|      if (keyPos == std::string::npos)  | ||||
|      { | ||||
|          return start.x + kKeyDisplayPureKey(keyName, start) + KDL_MOD_KEY_SPACING; | ||||
| @@ -380,7 +380,7 @@
 | ||||
|  // -------------------------------------------------------------------------------------------------------- | ||||
|  SDL_keysym kKeyGetKeysymForKeyName ( const std::string & keyName ) | ||||
|  { | ||||
| -    unsigned int pos = keyName.find('_');
 | ||||
| +    std::string::size_type pos = keyName.find('_');
 | ||||
|       | ||||
|      std::string modString; | ||||
|      std::string symString = keyName; | ||||
| --- a/kodilib/src/tools/KStringTools.cpp
 | ||||
| +++ b/kodilib/src/tools/KStringTools.cpp
 | ||||
| @@ -13,7 +13,7 @@
 | ||||
|  void kStringInsertStringBehindTags ( std::string & str, const std::string & insertString,  | ||||
|                                       const std::string & tag ) | ||||
|  { | ||||
| -    unsigned int oldPos = 0;
 | ||||
| +    std::string::size_type oldPos = 0;
 | ||||
|      while ((oldPos = str.find(tag, oldPos)) != std::string::npos) | ||||
|      { | ||||
|          oldPos += tag.size(); | ||||
| @@ -34,8 +34,8 @@
 | ||||
|  { | ||||
|      std::vector<std::string> components; | ||||
|       | ||||
| -    unsigned int dividerLength = divider.size();
 | ||||
| -    unsigned int oldpos = 0, pos;
 | ||||
| +    std::string::size_type dividerLength = divider.size();
 | ||||
| +    std::string::size_type oldpos = 0, pos;
 | ||||
|       | ||||
|      while ((pos = str.find(divider, oldpos)) != std::string::npos) | ||||
|      { | ||||
| @@ -50,7 +50,7 @@
 | ||||
|  // -------------------------------------------------------------------------------------------------------- | ||||
|  void kStringReplace ( std::string & str, const std::string & toReplace, const std::string & replacement ) | ||||
|  { | ||||
| -    unsigned int pos = 0, chars = toReplace.size();
 | ||||
| +    std::string::size_type pos = 0, chars = toReplace.size();
 | ||||
|      while ((pos = str.find(toReplace, pos)) != std::string::npos) | ||||
|      { | ||||
|          str.replace(pos, chars, replacement); | ||||
| @@ -60,11 +60,11 @@
 | ||||
|  // -------------------------------------------------------------------------------------------------------- | ||||
|  void kStringReplaceTabs ( std::string & str, unsigned int tabWidth ) | ||||
|  { | ||||
| -    unsigned int tabPos;
 | ||||
| +    std::string::size_type tabPos;
 | ||||
|      while ((tabPos = str.find('\t')) != std::string::npos) | ||||
|      { | ||||
| -        unsigned int lastNewlinePos = str.rfind('\n', tabPos-1);
 | ||||
| -        unsigned int relPos = (lastNewlinePos == std::string::npos) ? tabPos : tabPos - lastNewlinePos; 
 | ||||
| +        std::string::size_type lastNewlinePos = str.rfind('\n', tabPos-1);
 | ||||
| +        std::string::size_type relPos = (lastNewlinePos == std::string::npos) ? tabPos : tabPos - lastNewlinePos; 
 | ||||
|          str.replace(tabPos, 1, std::string(tabWidth-(relPos % tabWidth), ' ')); | ||||
|      } | ||||
|  } | ||||
| @@ -114,7 +114,7 @@
 | ||||
|  // -------------------------------------------------------------------------------------------------------- | ||||
|  unsigned int kStringNthCharPos ( const std::string & str, unsigned int n, char c ) | ||||
|  { | ||||
| -    unsigned int loc = n, oloc = 0;
 | ||||
| +    std::string::size_type loc = n, oloc = 0;
 | ||||
|      while (n > 0 && (loc = str.find(c, oloc)) != std::string::npos) | ||||
|      {  | ||||
|          n--;  | ||||
| @@ -138,7 +138,7 @@
 | ||||
|  // -------------------------------------------------------------------------------------------------------- | ||||
|  void kStringCropCols ( std::string & str, unsigned int columns ) | ||||
|  {         | ||||
| -    unsigned int oloc = 0, nloc = 0;
 | ||||
| +    std::string::size_type oloc = 0, nloc = 0;
 | ||||
|      while ((nloc = str.find('\n', oloc)) != std::string::npos) | ||||
|      { | ||||
|          if ((nloc - oloc) > columns) | ||||
| @@ -160,10 +160,10 @@
 | ||||
|  unsigned int kStringCols ( const std::string & str ) | ||||
|  { | ||||
|      if (str.size() == 0) return 0; | ||||
| -    int oloc = 0, nloc;
 | ||||
| +    long oloc = 0, nloc;
 | ||||
|      std::string substring; | ||||
|      int maxlength = 0, length; | ||||
| -    while ((nloc = str.find('\n', oloc)) != (int)std::string::npos) 
 | ||||
| +    while ((nloc = str.find('\n', oloc)) != (long)std::string::npos) 
 | ||||
|      { | ||||
|          substring = str.substr(oloc, nloc - oloc); | ||||
|          length = substring.size(); | ||||
| @@ -181,7 +181,7 @@
 | ||||
|  unsigned int kStringRows ( const std::string & str ) | ||||
|  { | ||||
|      if (str.size() == 0) return 1; | ||||
| -    unsigned int loc = 0, lines = 0;
 | ||||
| +    std::string::size_type loc = 0, lines = 0;
 | ||||
|      while ((loc = str.find('\n', loc)) != std::string::npos) { lines++; loc++; } | ||||
|      if (str[str.size()-1] == '\n') return lines; | ||||
|      return lines+1; | ||||
| @@ -204,8 +204,8 @@
 | ||||
|  { | ||||
|      static char str[256]; | ||||
|      std::string format(fmt), subformat, text; | ||||
| -    unsigned int oloc = 0;
 | ||||
| -    unsigned int nloc = 0;
 | ||||
| +    std::string::size_type oloc = 0;
 | ||||
| +    std::string::size_type nloc = 0;
 | ||||
|       | ||||
|      kStringReplaceTabs(format); | ||||
|       | ||||
| @@ -260,7 +260,7 @@
 | ||||
|  // -------------------------------------------------------------------------------------------------------- | ||||
|  bool kStringHasSuffix ( const std::string & str, const std::string & suffix ) | ||||
|  { | ||||
| -    unsigned int result = str.rfind(suffix);
 | ||||
| +    std::string::size_type result = str.rfind(suffix);
 | ||||
|      if (result == std::string::npos) return false; | ||||
|      return (result == str.size()-suffix.size()); | ||||
|  } | ||||
| --- a/kodilib/src/tools/KXMLTools.cpp
 | ||||
| +++ b/kodilib/src/tools/KXMLTools.cpp
 | ||||
| @@ -58,11 +58,11 @@
 | ||||
|  std::string kXMLParseToTagsInVector ( std::string & xml, const std::vector<std::string> & tags ) | ||||
|  { | ||||
|      std::string open("<"); | ||||
| -    unsigned int minLoc = std::string::npos; 
 | ||||
| +    std::string::size_type minLoc = std::string::npos; 
 | ||||
|      std::vector<std::string>::const_iterator iter = tags.begin(); | ||||
|      while (iter != tags.end()) | ||||
|      { | ||||
| -        unsigned int loc = xml.find(open+(*iter));
 | ||||
| +        std::string::size_type loc = xml.find(open+(*iter));
 | ||||
|          if (loc < minLoc) minLoc = loc; | ||||
|          iter++; | ||||
|      } | ||||
| @@ -77,7 +77,7 @@
 | ||||
|      std::string value; | ||||
|      std::string nameStr(name); | ||||
|      nameStr += "='"; | ||||
| -    unsigned int loc = xml.find(nameStr);
 | ||||
| +    std::string::size_type loc = xml.find(nameStr);
 | ||||
|      if (loc != std::string::npos) | ||||
|      {	 | ||||
|          loc += nameStr.size(); | ||||
| @@ -90,7 +90,7 @@
 | ||||
|  // -------------------------------------------------------------------------------------------------------- | ||||
|  bool kXMLParseNamedCloseTag ( std::string & xml, const std::string & name, bool printError ) | ||||
|  { | ||||
| -    unsigned int loc = xml.find('<');
 | ||||
| +    std::string::size_type loc = xml.find('<');
 | ||||
|      if (loc == std::string::npos)  | ||||
|      { | ||||
|          if (printError) KConsole::printError(kStringPrintf("invalid XML:\nmissing close tag '%s'",  | ||||
| @@ -117,7 +117,7 @@
 | ||||
|  // -------------------------------------------------------------------------------------------------------- | ||||
|  bool kXMLReadNamedOpenTag ( const std::string & xml, const std::string & name, std::string * attributes ) | ||||
|  { | ||||
| -    unsigned int loc = xml.find('<'), endloc;
 | ||||
| +    std::string::size_type loc = xml.find('<'), endloc;
 | ||||
|       | ||||
|      if (loc == std::string::npos || xml[loc+1] == '/') return false; | ||||
|       | ||||
| @@ -140,7 +140,7 @@
 | ||||
|  // -------------------------------------------------------------------------------------------------------- | ||||
|  std::string kXMLParseNamedOpenTag ( std::string & xml, const std::string & name, std::string * attributes, bool printError ) | ||||
|  { | ||||
| -    unsigned int loc = xml.find('<');
 | ||||
| +    std::string::size_type loc = xml.find('<');
 | ||||
|      if (loc == std::string::npos || xml[loc+1] == '/')  | ||||
|      { | ||||
|          if (printError) KConsole::printError(kStringPrintf("invalid XML:\nmissing tag '%s'", name.c_str())); | ||||
| @@ -191,7 +191,7 @@
 | ||||
|  // -------------------------------------------------------------------------------------------------------- | ||||
|  bool kXMLParseOpenTag ( std::string & xml, std::string & name, std::string * attributes, bool printError ) | ||||
|  { | ||||
| -    unsigned int loc = xml.find('<');
 | ||||
| +    std::string::size_type loc = xml.find('<');
 | ||||
|      if (loc == std::string::npos || xml[loc+1] == '/')  | ||||
|      { | ||||
|          if (printError) KConsole::printError("invalid XML:\nmissing open tag"); | ||||
| @@ -295,7 +295,7 @@
 | ||||
|  // -------------------------------------------------------------------------------------------------------- | ||||
|  bool kXMLParseValue( std::string & xml, const std::string & name, int type, void * value, bool printError ) | ||||
|  { | ||||
| -    unsigned int loc = xml.find('<');
 | ||||
| +    std::string::size_type loc = xml.find('<');
 | ||||
|      if (loc == std::string::npos || xml[loc+1] == '/')      | ||||
|      { | ||||
|          if (printError) KConsole::printError(kStringPrintf("invalid XML:\nmissing value '%s'", name.c_str())); | ||||
| @@ -379,8 +379,8 @@
 | ||||
|          } | ||||
|          else if (typeString == "string") | ||||
|          { | ||||
| -            unsigned int first = substring.find("\"")+1;
 | ||||
| -            unsigned int last  = substring.rfind("\"", std::string::npos);
 | ||||
| +            std::string::size_type first = substring.find("\"")+1;
 | ||||
| +            std::string::size_type last  = substring.rfind("\"", std::string::npos);
 | ||||
|              *((std::string*)value) = substring.substr(first, last-first); | ||||
|          } | ||||
|           | ||||
| --- a/kodilib/src/types/KKey.cpp
 | ||||
| +++ b/kodilib/src/types/KKey.cpp
 | ||||
| @@ -31,7 +31,7 @@
 | ||||
|  // -------------------------------------------------------------------------------------------------------- | ||||
|  std::string KKey::getUnmodifiedName () const | ||||
|  { | ||||
| -    unsigned int keyPos = name.find('_', 0);
 | ||||
| +    std::string::size_type keyPos = name.find('_', 0);
 | ||||
|      if (keyPos == std::string::npos)  | ||||
|      { | ||||
|          return name; | ||||
| @@ -42,7 +42,7 @@
 | ||||
|  // -------------------------------------------------------------------------------------------------------- | ||||
|  std::string KKey::getModifierName () const | ||||
|  { | ||||
| -    unsigned int keyPos = name.find('_', 0);
 | ||||
| +    std::string::size_type keyPos = name.find('_', 0);
 | ||||
|      if (keyPos == std::string::npos)  | ||||
|      { | ||||
|          return ""; | ||||
| --- a/kodilib/src/widgets/KFileNameField.cpp
 | ||||
| +++ b/kodilib/src/widgets/KFileNameField.cpp
 | ||||
| @@ -41,7 +41,7 @@
 | ||||
|          std::string restPath; 				 // path behind cursor | ||||
|           | ||||
|          // map cropped path to current directory and rest path to file prefix | ||||
| -        unsigned int lastSlashPos = croppedPath.rfind("/");
 | ||||
| +        std::string::size_type lastSlashPos = croppedPath.rfind("/");
 | ||||
|          if (lastSlashPos < croppedPath.size()-1) | ||||
|          { | ||||
|              restPath = croppedPath.substr(lastSlashPos+1); | ||||
| @@ -88,7 +88,7 @@
 | ||||
|          } | ||||
|   | ||||
|          // ............................collect list of entries in searchDir that match prefix restPath | ||||
| -        unsigned int restLength = restPath.size();
 | ||||
| +        std::string::size_type restLength = restPath.size();
 | ||||
|          std::vector<std::string> matchingEntries; | ||||
|          std::vector<std::string>::iterator iter = dir_entries.begin(); | ||||
|          while (iter != dir_entries.end()) | ||||
| @@ -223,7 +223,7 @@
 | ||||
|  // -------------------------------------------------------------------------------------------------------- | ||||
|  void KFileNameField::selectLastPathComponent () | ||||
|  { | ||||
| -    unsigned int lastSlashPos = text.rfind("/");
 | ||||
| +    std::string::size_type lastSlashPos = text.rfind("/");
 | ||||
|      if (lastSlashPos == text.size()-1) lastSlashPos = text.rfind("/", lastSlashPos-1); | ||||
|      if (lastSlashPos < text.size()) cursor_pos = lastSlashPos+1; | ||||
|      else cursor_pos = 0; | ||||
| --- a/src/gui/KikiMenu.cpp
 | ||||
| +++ b/src/gui/KikiMenu.cpp
 | ||||
| @@ -54,7 +54,7 @@
 | ||||
|  { | ||||
|      std::string item_text (itemText); | ||||
|      std::string event_name (itemText); | ||||
| -    unsigned int pos;
 | ||||
| +    std::string::size_type pos;
 | ||||
|      float scale_factor = 1.0; | ||||
|   | ||||
|      KikiMenuItem * menu_item = new KikiMenuItem (); | ||||
| --- a/src/gui/KikiTextLine.cpp
 | ||||
| +++ b/src/gui/KikiTextLine.cpp
 | ||||
| @@ -46,7 +46,7 @@
 | ||||
|  void KikiTextLine::setText ( const std::string & str ) | ||||
|  { | ||||
|      text = str; | ||||
| -    unsigned int pos;
 | ||||
| +    std::string::size_type pos;
 | ||||
|    | ||||
|      if ((pos = text.find ("$scale(")) != std::string::npos) | ||||
|      { | ||||
		Reference in a new issue