1. 03 1月, 2018 1 次提交
  2. 23 11月, 2017 1 次提交
  3. 16 10月, 2017 1 次提交
  4. 18 8月, 2017 1 次提交
  5. 24 7月, 2017 2 次提交
  6. 26 6月, 2017 1 次提交
  7. 22 6月, 2017 3 次提交
  8. 12 5月, 2017 1 次提交
  9. 10 5月, 2017 1 次提交
    • D
      Don't inline virStringTrimOptionalNewline · 1a77b97c
      Daniel P. Berrange 提交于
      GCC complains that inlining virStringTrimOptionalNewline is not
      likely on some platforms:
      
        cc1: warnings being treated as errors
        ../../src/util/virfile.c: In function 'virFileReadValueBitmap':
        ../../src/util/virstring.h:292: error: inlining failed in call to 'virStringTrimOptionalNewline': call is unlikely and code size would grow [-Winline]
        ../../src/util/virfile.c:3987: error: called from here [-Winline]
      
      Inlining this function is not going to be a measurable performance
      benefit either, since the time required to execute it is going to
      be dominated by running of strlen() over the string, not by the
      function call overhead.
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      1a77b97c
  10. 06 12月, 2016 2 次提交
  11. 02 12月, 2016 1 次提交
  12. 25 11月, 2016 1 次提交
    • M
      virstring: Unify string list function names · c2a5a4e7
      Michal Privoznik 提交于
      We have couple of functions that operate over NULL terminated
      lits of strings. However, our naming sucks:
      
      virStringJoin
      virStringFreeList
      virStringFreeListCount
      virStringArrayHasString
      virStringGetFirstWithPrefix
      
      We can do better:
      
      virStringListJoin
      virStringListFree
      virStringListFreeCount
      virStringListHasString
      virStringListGetFirstWithPrefix
      Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
      c2a5a4e7
  13. 24 11月, 2016 1 次提交
  14. 17 8月, 2016 1 次提交
    • A
      util: Make virStringArrayHasString() const-correct · 3edcf834
      Andrea Bolognani 提交于
      The first argument should be const char ** instead of
      char **, because this is a search function and as such it
      doesn't, and shouldn't, alter the haystack in any way.
      
      This change means we no longer have to cast arrays of
      immutable strings to arrays of mutable strings; we still
      have to do the opposite, though, but that's reasonable.
      3edcf834
  15. 16 5月, 2016 2 次提交
  16. 13 4月, 2016 1 次提交
  17. 11 4月, 2016 1 次提交
  18. 10 2月, 2016 1 次提交
  19. 09 2月, 2016 1 次提交
  20. 19 8月, 2015 1 次提交
  21. 14 8月, 2015 1 次提交
    • E
      tools: Introduce new client generic module vsh · 834c5720
      Erik Skultety 提交于
      In order to share as much virsh' logic as possible with upcomming
      virt-admin client we need to split virsh logic into virsh specific and
      client generic features.
      
      Since majority of virsh methods should be generic enough to be used by
      other clients, it's much easier to rename virsh specific data to virshX
      than doing this vice versa. It moved generic virsh commands (including info
      and opts structures) to generic module vsh.c.
      
      Besides renaming methods and structures, this patch also involves introduction
      of a client specific control structure being referenced as private data in the
      original control structure, introduction of a new global vsh Initializer,
      which currently doesn't do much, but there is a potential for added
      functionality in the future.
      Lastly it introduced client hooks which are especially necessary during
      client connecting phase.
      834c5720
  22. 24 4月, 2015 1 次提交
  23. 23 4月, 2015 1 次提交
  24. 16 4月, 2015 1 次提交
  25. 22 10月, 2014 1 次提交
  26. 15 10月, 2014 1 次提交
  27. 24 9月, 2014 1 次提交
    • D
      Support passing dict by reference for dbus messages · 88a2dc1f
      Daniel P. Berrange 提交于
      Currently DBus dict values must be passed inline
      
         virDBusMessageEncode("a{ss}",
                              3,
                              "key1", "val1",
                              "key2", "val2",
                              "key3", "val3");
         virDBusMessageDecode("a{ss}",
                              3,
                              &key1, &val1,
                              &key2, &val2,
                              &key3, &val3);
      
      This allows them to be passed by reference
      
         const char **dictin = {
            "key1", "val1",
            "key2", "val2",
            "key3", "val3"
         };
         char **dictout;
         size_t ndictout;
      
         virDBusMessageEncode("a&{ss}",
                              ARRAY_CARDINALITY(dict) / 2,
                              dictin);
         virDBusMessageDecode("a&{ss}",
                              &ndictout,
                              &dictout);
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      88a2dc1f
  28. 11 9月, 2014 1 次提交
  29. 03 7月, 2014 1 次提交
    • J
      Use virBufferCheckError everywhere we report OOM error · 92a8e72f
      Ján Tomko 提交于
      Replace:
      if (virBufferError(&buf)) {
          virBufferFreeAndReset(&buf);
          virReportOOMError();
          ...
      }
      
      with:
      if (virBufferCheckError(&buf) < 0)
          ...
      
      This should not be a functional change (unless some callers
      misused the virBuffer APIs - a different error would be reported
      then)
      92a8e72f
  30. 24 6月, 2014 1 次提交
  31. 03 6月, 2014 1 次提交
    • P
      util: string: Return element count from virStringSplit · 68226749
      Peter Krempa 提交于
      To allow using the array manipulation macros on the arrays returned by
      virStringSplit we need to know the count of the elements in the array.
      Modify virStringSplit to return this value, rename it and add a helper
      with the old name so that we don't need to update all the code.
      68226749
  32. 02 5月, 2014 2 次提交
    • E
      util: new stricter unsigned int parsing · 7b045c8c
      Eric Blake 提交于
      strtoul() is required to parse negative numbers as their
      twos-complement positive counterpart.  But sometimes we want
      to reject negative numbers.  Add new functions to do this.
      The 'p' suffix is a mnemonic for 'positive' (technically it
      also parses 0, but 'non-negative' doesn't lend itself to a
      nice one-letter suffix).
      
      * src/util/virstring.h (virStrToLong_uip, virStrToLong_ulp)
      (virStrToLong_ullp): New prototypes.
      * src/util/virstring.c (virStrToLong_uip, virStrToLong_ulp)
      (virStrToLong_ullp): New functions.
      * src/libvirt_private.syms (virstring.h): Export them.
      * tests/virstringtest.c (testStringToLong): Test them.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      7b045c8c
    • E
      util: fix uint parsing on 64-bit platforms · f18c02ec
      Eric Blake 提交于
      Commit f22b7899 called to light a long-standing latent bug: the
      behavior of virStrToLong_ui was different on 32-bit platforms
      than on 64-bit platforms.  Curse you, C type promotion and
      narrowing rules, and strtoul specification.  POSIX says that for
      a 32-bit long, strtol handles only 2^32 values [LONG_MIN to
      LONG_MAX] while strtoul handles 2^33 - 1 values [-ULONG_MAX to
      ULONG_MAX] with twos-complement wraparound for negatives.  Thus,
      parsing -1 as unsigned long produces ULONG_MAX, rather than a
      range error.  We WANT[1] this same shortcut for turning -1 into
      UINT_MAX when parsing to int; and get it for free with 32-bit
      long.  But with 64-bit long, ULONG_MAX is outside the range
      of int and we were rejecting it as invalid; meanwhile, we were
      silently treating -18446744073709551615 as 1 even though it
      textually exceeds INT_MIN.  Too bad there's not a strtoui() in
      libc that does guaranteed parsing to int, regardless of the size
      of long.
      
      The bug has been latent since 2007, introduced by Jim Meyering
      in commit 5d254191 in the attempt to eradicate unsafe use of
      strto[u]l when parsing ints and longs.  How embarrassing that we
      are only discovering it now - so I'm adding a testsuite to ensure
      that it covers all the corner cases we care about.
      
      [1] Ideally, we really want the caller to be able to choose whether
      to allow negative numbers to wrap around to their 2s-complement
      counterpart, as in strtoul, or to force a stricter input range
      of [0 to UINT_MAX] by rejecting negative signs; this will be added
      in a later patch for all three int types.
      
      This patch is tested on both 32- and 64-bit; the enhanced
      virstringtest passes on both platforms, while virstoragetest now
      reliably fails on both platforms instead of just 32-bit platforms.
      That test will be fixed later.
      
      * src/util/virstring.c (virStrToLong_ui): Ensure same behavior
      regardless of platform long size.
      * tests/virstringtest.c (testStringToLong): New function.
      (mymain): Comprehensively test string to long parsing.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      f18c02ec
  33. 22 4月, 2014 1 次提交
  34. 25 3月, 2014 1 次提交