Skip to content
Snippets Groups Projects
  1. Oct 27, 2022
  2. Jul 27, 2022
  3. Jul 04, 2022
  4. May 30, 2022
  5. Dec 07, 2021
  6. Dec 03, 2021
  7. Dec 02, 2021
  8. Dec 01, 2021
    • Simon McVittie's avatar
      build: Vendor our own copy of wflinfo · b0964a46
      Simon McVittie authored
      
      This was the last remaining third-party executable used for our
      diagnostic checks that needed its packaging to be forked to build a
      multiarch-qualified version. If we avoid needing that, then we can use
      dependencies from an ordinary Linux distribution, making development
      outside a Steam Runtime environment easier.
      
      The next step for this would be to switch helpers/check-gl.c to use
      libwaffle to create windows and contexts so that it can support more
      platforms than just X11/GLX, and incorporate the parts of wflinfo's
      functionality that we need into check-gl, so we only need to run one
      check program rather than two.
      
      Signed-off-by: default avatarSimon McVittie <smcv@collabora.com>
      b0964a46
  9. Oct 20, 2021
  10. Sep 23, 2021
  11. Sep 17, 2021
  12. Sep 01, 2021
  13. Jul 05, 2021
  14. May 11, 2021
  15. Apr 26, 2021
  16. Apr 22, 2021
  17. Mar 23, 2021
    • Simon McVittie's avatar
      inspect-library: Add a line-based octal output format · f0f32d07
      Simon McVittie authored
      
      Instead of trying to format JSON using only glibc, this just prints
      key=value lines, some of which can be repeated. The values always have
      control characters and backslashes escaped as C-style octal sequences
      such as \040 for space, similar to the encoding of /etc/fstab. This
      allows non-UTF-8 bytestrings to be represented.
      
      Signed-off-by: default avatarSimon McVittie <smcv@collabora.com>
      f0f32d07
    • Simon McVittie's avatar
      inspect-library: Don't print non-ASCII as nonsense codepoints · 869b7c0d
      Simon McVittie authored
      If we pass a (signed) char to a varargs function, it's promoted to
      (signed) int by the default argument promotions (resulting in padding
      on the left by copying the sign bit); but then %x interprets it as an
      unsigned int. The practical result is that for anything over 0x7f, for
      example 0xAB, we interpret the high bit as the sign bit and pad with
      "1" bits, turning 0xAB into 0xFFFFFFAB. \uFFFFFFAB is not allowed as an
      escaped JSON character (because Unicode stops at U+10FFFF) so parsing
      fails.
      
      Note that this change does not result in strings with non-ASCII content
      being interpreted *correctly*: we are effectively taking the bytestring
      from the OS and decoding it as though it was ISO-8859-1, so if a file's
      path includes U+00C7 LATIN CAPITAL_LETTER C WITH CEDILLA (`Ç`), encoded
      as 0xC3 0x87 on disk (assuming a UTF-8 environment), it will go into
      the JSON document as \u00C3\u0087 instead of the correct \u00C7. Fixing
      this would require either a considerably more complex implementation of
      inspect-library, or an output format that is based on bytestrings
      rather than JSON.
      
      Partially addresses
      https://github.com/ValveSoftware/steam-runtime/issues/385 and
      #69
      
      .
      
      Signed-off-by: default avatarSimon McVittie <smcv@collabora.com>
      869b7c0d
  18. Jan 27, 2021
  19. Jan 26, 2021
  20. Jan 25, 2021
  21. Jan 20, 2021
Loading