[cmake-developers] string SUBSTRING TRUNCATE mode

Rolf Eike Beer eike at sf-mail.de
Thu Nov 13 12:48:02 EST 2014


Am Donnerstag, 13. November 2014, 11:19:26 schrieb Brad King:
> On 11/12/2014 06:08 PM, Domen Vrankar wrote:
> > Attached is the final patch.
> 
> Applied with minor tweaks, thanks:
> 
>  string: Tolerate SUBSTRING length exceeding end index
>  http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=474bbb9d

This should be a good addition, no?

diff --git a/Modules/CPackRPM.cmake b/Modules/CPackRPM.cmake
index 56d9b66..66717ef 100644
--- a/Modules/CPackRPM.cmake
+++ b/Modules/CPackRPM.cmake
@@ -683,9 +683,7 @@ foreach(_RPM_SPEC_HEADER URL REQUIRES SUGGESTS PROVIDES OBSOLETES PREFIX CONFLIC
     # Transform NAME --> Name e.g. PROVIDES --> Provides
     # The Upper-case first letter and lowercase tail is the
     # appropriate value required in the final RPM spec file.
-    string(LENGTH ${_RPM_SPEC_HEADER} _PACKAGE_HEADER_STRLENGTH)
-    math(EXPR _PACKAGE_HEADER_STRLENGTH "${_PACKAGE_HEADER_STRLENGTH} - 1")
-    string(SUBSTRING ${_RPM_SPEC_HEADER} 1 ${_PACKAGE_HEADER_STRLENGTH} _PACKAGE_HEADER_TAIL)
+    string(SUBSTRING ${_RPM_SPEC_HEADER} 1 -1 _PACKAGE_HEADER_TAIL)
     string(TOLOWER "${_PACKAGE_HEADER_TAIL}" _PACKAGE_HEADER_TAIL)
     string(SUBSTRING ${_RPM_SPEC_HEADER} 0 1 _PACKAGE_HEADER_NAME)
     set(_PACKAGE_HEADER_NAME "${_PACKAGE_HEADER_NAME}${_PACKAGE_HEADER_TAIL}")
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part.
URL: <http://public.kitware.com/pipermail/cmake-developers/attachments/20141113/b44b355f/attachment.sig>


More information about the cmake-developers mailing list