Skip to content
Snippets Groups Projects
  1. May 31, 2020
  2. Dec 16, 2016
  3. Oct 11, 2015
  4. Jun 11, 2015
  5. Nov 12, 2014
    • Per Hedbor's avatar
      Fundamental properties of empty strings corrected. · d290b76b
      Per Hedbor authored
      An empty string:
      - IS lowercase
      - IS uppercase
      
      'STRING_IS_LOWERCASE' means the same string will be returned for
      lower_case(str), and 'STRING_IS_UPPERCASE' means the same string will
      be returned for upper_case(str).
      
      Having this be wrong for the empty string is not really a good idea,
      since when strings are constructed using += the bits will not be set
      correctly if you start with the empty string.
      
      Also note: All code using string ranges really needs a special case
      for the empty string, since its range of characters, when checked
      using check_string_range, will be 0..255 (loose check), or
      -MAX_INT32..MAX_INT32 (non-loose check).
      
      This is done correctly in the 'string_has_null' function, which is
      what is supposed to be used to check if strings contain null
      characters.
      d290b76b
  6. Nov 11, 2014
  7. Sep 29, 2014
  8. Sep 22, 2014
  9. Sep 11, 2014
  10. Sep 10, 2014
    • Henrik (Grubba) Grubbström's avatar
      Revert "Store new malloced value instead." · 7fb7d686
      Henrik (Grubba) Grubbström authored
      This reverts commit a9693064.
      
      As mentioned in [LysLysKOM 20949405] (which probably hasn't been
      exported correctly to the mailinglist yet):
      
      The old code looks correct to me.
      
        * Restore s->s->len to the value it had when s->s was allocated
          (aka s->malloced).
      
        * Reallocate s->s with the new (now known) final length.
      
      The question does however arise whether the code is correct on
      realloc failure.
      7fb7d686
  11. Sep 09, 2014
  12. Sep 03, 2014
  13. Aug 26, 2014
  14. Jul 02, 2014
    • Arne Goedeke's avatar
      Strings: correctly store character ranges · f1298df3
      Arne Goedeke authored
      Character ranges of strings are stored in two unsigned chars. For wide
      strings, the values between 0 and 255 represent blocks of 255 and
      (1<<24) characters, respectively.
      
      The previous code had several issues:
      
      1) After calculating the actual min/max values of the character range,
         these value were rounded up, which could lead to an overflow. The
         result was that both min and max could end up being 0. An example is
         the string (string)({ (1<<16)-1 }).
      2) The 32 bit case used blocks of 16 bit instead of 24 bit.
      f1298df3
  15. Jun 19, 2014
  16. Jun 18, 2014
  17. Jun 17, 2014
  18. Jun 01, 2014
  19. May 23, 2014
    • Per Hedbor's avatar
      Removed dead feature PIKE_RUN_UNLOCKED · 557f749d
      Per Hedbor authored
      This feature has not worked since at least y2k
      (5b15bb75)
      
      In fact, it never did work very well even befor that, and has always
      much slower than not running unlocked. Especially on multi-cpu
      systems.
      557f749d
  20. May 10, 2014
  21. May 06, 2014
  22. May 05, 2014
  23. Apr 27, 2014
Loading