1. 22 Jan, 2021 1 commit
    • Tim-Philipp Müller's avatar
      meson: fix install failure on Windows if bindir is not in PATH · c9f92cee
      Tim-Philipp Müller authored
      We try to run fc-cache as part of the install, which runs
      the fc-cache binary in the build directory. On Windows this
      might fail because nothing sets up the environment in such
      a way that Windows can find the libs required by fc-cache
      (unless by luck we are operating in an environment where
      the install bindir is already in PATH, but this is not
      guaranteed).
      
      Ideally Meson should set up the environment properly here,
      but currently it doesn't do that, so until it does we need
      to work around this problem somehow.
      
      For now we simply ignore any fc-cache failures on Windows
      and print a big warning message. We have to suppress the
      dialog boxes that pop up when a DLL is not found in order
      to make this work nicely. This isn't pretty, but seems
      that least bad option for now.
      
      See https://github.com/mesonbuild/meson/issues/8187
      
      Fixes #260
      c9f92cee
  2. 15 Jan, 2021 1 commit
  3. 13 Jan, 2021 1 commit
  4. 08 Jan, 2021 2 commits
    • Tim-Philipp Müller's avatar
      ci: add meson android aarch64 build · 643c3f1e
      Tim-Philipp Müller authored
      Passing -Wno-pointer-bool-conversion in cross file
      to suppress compiler warning:
      
      src/fcfreetype.c:1373:11: address of array 'os2->achVendID' will always evaluate to 'true'
      643c3f1e
    • Tim-Philipp Müller's avatar
      fcformat: fix compiler warnings with clang on Android · 8657c081
      Tim-Philipp Müller authored
      fcformat.c:762:44: warning: expression which evaluates to zero treated as a null pointer constant of type 'FcChar8 *' (aka 'unsigned char *') [-Wnon-literal-null-conversion]
                      if (!FcNameUnparseValue (buf, &l->value, '\0'))
                                                               ^~~~
      fcformat.c:769:38: warning: expression which evaluates to zero treated as a null pointer constant of type 'FcChar8 *' (aka 'unsigned char *') [-Wnon-literal-null-conversion]
                  FcNameUnparseValueList (buf, l, '\0');
                                                  ^~~~
      8657c081
  5. 07 Jan, 2021 2 commits
    • Ben Wagner's avatar
      Clean up test-family-matching test. · bd7123ac
      Ben Wagner authored
      Correct the type of TestMatchPattern's 'ret' from TestResult to
      TestMatchResult to match the actual return type (and values assigned to
      it).
      
      Fix leak of TestMatchPattern's 'xml' and TestFamily's 'pat'.
      
      Simplify TestMatchPattern cleanup and ensure cleanup always happens.
      bd7123ac
    • Tim-Philipp Müller's avatar
      meson: remove unused stdin_wrapper.py script · e2c6b620
      Tim-Philipp Müller authored
      Not needed any more. Used to be used with fc-case and fc-lang,
      but those have since been rewritten in python.
      e2c6b620
  6. 28 Dec, 2020 1 commit
    • Ben Wagner's avatar
      Test all not_eq for family names. · b1e1a875
      Ben Wagner authored
      Any early out checks must give the same answer as FcConfigCompareValue.
      An accelerator was added for family names which treated all ops as if
      they were FcOpEqual, giving the wrong answer for other non-equivalent ops
      (for example FcOpContains or FcOpNotEqual).
      
      This adds a test which passes before the accelerator was introduced,
      fails after, and will pass again after !142 lands. This tests the all
      not_eq case.
      b1e1a875
  7. 17 Dec, 2020 2 commits
  8. 16 Dec, 2020 2 commits
    • Ben Wagner's avatar
      Fix test-conf string to integer conversion. · 921ede9f
      Ben Wagner authored
      The test-conf build_pattern attempted to convert known constant strings
      into integer values. However, it did so by always converting the string
      value to an integer if possible and then complaining if the key wasn't
      of the expected type. This lead to error messages on "style": "Regular"
      since "Regular" was recognized as "weight".
      
      Instead, only attempt conversion from string to integer if the key is
      the name of an object which can take an integer type. This eliminates
      the spurious non-fatal errors reported when parsing
      test-90-synthetic.json.
      
      This also fixes an issue where the created value was given the type of
      the object found, but the integer field was assigned. Instead, check
      that the object type can take an integer and always set the value type
      to integer.
      921ede9f
    • Ben Wagner's avatar
      Always run-test-conf, but skip if not built. · b35c72db
      Ben Wagner authored
      The test-conf test requires libjson-c to be available in order to be
      built. However, there has been no user indication that additional tests
      could be built if the json-c development files were available.
      
      Continue to not build test-conf if json-c is not available, but do run
      the test harness. The test harness is updated to SKIP the test if the
      test-conf binary is unavailable.
      b35c72db
  9. 14 Dec, 2020 2 commits
    • Ben Wagner's avatar
      Fix wild frees and leak of fs in test-conf. · 5cd11d19
      Ben Wagner authored
      Reported by AddressSanitizer when running test-conf. The `query`,
      `result`, and `result_fs` were not initialized to NULL so could result
      in a wild free when first initialized.
      
      The `method` was also not initialized to NULL so comparisons could be
      made against random data if it had not yet been assigned.
      
      The outer `fs` was never destroyed, but is also not used, so remove.
      5cd11d19
    • Ben Wagner's avatar
      Fix leaks in fcxml.c, fc-match.c, and tests. · d55eaa6b
      Ben Wagner authored
      Fix leaks reported by AddressSanitizer when running 'make check'.
      d55eaa6b
  10. 10 Dec, 2020 1 commit
    • Ben Wagner's avatar
      Portable trap conditions in run-test.sh. · c00a51f4
      Ben Wagner authored
      Posix says:
          The condition can be EXIT, 0 (equivalent to EXIT), or a signal
          specified using a symbolic name, without the SIG prefix, as listed
          in the tables of signal names in the <signal.h> header defined in
          the Base Definitions volume of IEEE Std 1003.1-2001, Chapter 13,
          Headers; for example, HUP, INT, QUIT, TERM. Implementations may
          permit names with the SIG prefix or ignore case in signal names as
          an extension.
      
      Remove 'SIG' from trap conditions in run-test.sh for portability.
      c00a51f4
  11. 08 Dec, 2020 1 commit
  12. 07 Dec, 2020 2 commits
    • Ben Wagner's avatar
      Add line between licenses in COPYING. · 23cede3e
      Ben Wagner authored
      More clearly delineate which files are associated with each license.
      23cede3e
    • Ben Wagner's avatar
      Remove abort from FcCompareSize. · 97d54185
      Ben Wagner authored
      There doesn't appear to be a good reason to abort when 'v1' has type
      FcTypeRange. If there does turn out to be a good reason for this then it
      should be better documented and the code for handling this case removed.
      At worst it seems -1 should be returned as it is for other unknown
      types. It is possible this is left over debug code from the initial
      implementation.
      97d54185
  13. 04 Dec, 2020 2 commits
    • Ben Wagner's avatar
      Skip leading whitespace in style name. · 3d692638
      Ben Wagner authored
      Found by Clang-Tidy. The intent seems to have been to skip all leading
      whitespace in the 'style' string, but instead this loop was an odd
      looking no-op. Remove the 'break' from the loop so that it will
      continue until end of string or a non-space character is found.
      3d692638
    • Akira TAGOH's avatar
      Add back fullname property at scan matching phase · 93c93689
      Akira TAGOH authored
      There seems to be a lot of config files using fullname property in the world.
      To keep the backward compatibility, fullname property is back to a cache at
      the scan matching phase but will be rebuilt once it is done according to family
      and style property in the pattern no matter what changes one made in fullname
      property during that.
      
      Ref. https://bugzilla.redhat.com/show_bug.cgi?id=1902881
      93c93689
  14. 28 Nov, 2020 11 commits
  15. 19 Nov, 2020 1 commit
  16. 05 Nov, 2020 1 commit
  17. 04 Nov, 2020 1 commit
  18. 02 Nov, 2020 3 commits
    • Akira TAGOH's avatar
      Evaluate mingw64_env to setup properly on CI · 1c0e7885
      Akira TAGOH authored
      1c0e7885
    • Akira TAGOH's avatar
      Use memcpy instead of strcpy · 88156415
      Akira TAGOH authored
      To work around a warning with GCC10 on Win32
      
      warning: '__builtin___strncpy_chk' specified bound depends on the length of the source argument [-Wstringop-overflow=]
      88156415
    • Ben Wagner's avatar
      Fix fc_atomic_ptr_get and use. · 447b9ccc
      Ben Wagner authored
      Before this change building with ThreadSanitizer and running
      test/test-pthread generated a large number of threading issues. These
      mostly stemmed from fc_atomic_ptr_get not doing an atomic load and using
      "acquire load" instead of "load acquire". After making these changes it
      was still necessary to use fc_atomic_ptr_get where it was needed.
      
      This also documents the current memory barrier requirements for the
      atomic primitives.
      447b9ccc
  19. 30 Oct, 2020 1 commit
  20. 24 Oct, 2020 1 commit
  21. 04 Oct, 2020 1 commit