Re: [PATCH] util: virTimeFieldsThenRaw never return negative

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Jul 25, 2014 at 04:13:57PM +0800, James wrote:
virTimeFieldsThenRaw will never return negative result, so I clean up
the related meaningless judgements to make it better.

Signed-off-by: James <james.wangyufei@xxxxxxxxxx>
---
src/util/virtime.c  | 23 ++++++++---------------
src/util/virtime.h  |  8 ++++----
tests/virtimetest.c |  3 +--
3 files changed, 13 insertions(+), 21 deletions(-)

diff --git a/src/util/virtime.c b/src/util/virtime.c
index 2a91ea5..a49e287 100644
--- a/src/util/virtime.c
+++ b/src/util/virtime.c
@@ -94,7 +94,8 @@ int virTimeFieldsNowRaw(struct tm *fields)
    if (virTimeMillisNowRaw(&now) < 0)
        return -1;

-    return virTimeFieldsThenRaw(now, fields);
+    virTimeFieldsThenRaw(now, fields);
+    return 0;
}


@@ -121,9 +122,8 @@ const unsigned short int __mon_yday[2][13] = {
 * Converts the timestamp @when into broken-down field format.
 * Time time is always in UTC
 *
- * Returns 0 on success, -1 on error with errno set
 */
-int virTimeFieldsThenRaw(unsigned long long when, struct tm *fields)
+void virTimeFieldsThenRaw(unsigned long long when, struct tm *fields)

Well, it doesn't need to be "Raw" since there is no other variant.

{
    /* This code is taken from GLibC under terms of LGPLv2+ */
    long int days, rem, y;
@@ -171,7 +171,6 @@ int virTimeFieldsThenRaw(unsigned long long when, struct tm *fields)
    days -= ip[y];
    fields->tm_mon = y;
    fields->tm_mday = days + 1;
-    return 0;
}


@@ -209,8 +208,7 @@ int virTimeStringThenRaw(unsigned long long when, char *buf)
{
    struct tm fields;

-    if (virTimeFieldsThenRaw(when, &fields) < 0)
-        return -1;
+    virTimeFieldsThenRaw(when, &fields);

    fields.tm_year += 1900;
    fields.tm_mon += 1;
@@ -264,7 +262,8 @@ int virTimeFieldsNow(struct tm *fields)
    if (virTimeMillisNow(&now) < 0)
        return -1;

-    return virTimeFieldsThen(now, fields);
+    virTimeFieldsThen(now, fields);
+    return 0;
}


@@ -276,16 +275,10 @@ int virTimeFieldsNow(struct tm *fields)
 * Converts the timestamp @when into broken-down field format.
 * Time time is always in UTC
 *
- * Returns 0 on success, -1 on error with error reported
 */
-int virTimeFieldsThen(unsigned long long when, struct tm *fields)
+void virTimeFieldsThen(unsigned long long when, struct tm *fields)
{
-    if (virTimeFieldsThenRaw(when, fields) < 0) {
-        virReportSystemError(errno, "%s",
-                             _("Unable to break out time format"));
-        return -1;
-    }
-    return 0;
+    virTimeFieldsThenRaw(when, fields);
}


diff --git a/src/util/virtime.h b/src/util/virtime.h
index 25332db..f9432da 100644
--- a/src/util/virtime.h
+++ b/src/util/virtime.h
@@ -43,8 +43,8 @@ int virTimeMillisNowRaw(unsigned long long *now)
    ATTRIBUTE_NONNULL(1) ATTRIBUTE_RETURN_CHECK;
int virTimeFieldsNowRaw(struct tm *fields)
    ATTRIBUTE_NONNULL(1) ATTRIBUTE_RETURN_CHECK;
-int virTimeFieldsThenRaw(unsigned long long when, struct tm *fields)
-    ATTRIBUTE_NONNULL(2) ATTRIBUTE_RETURN_CHECK;
+void virTimeFieldsThenRaw(unsigned long long when, struct tm *fields)
+    ATTRIBUTE_NONNULL(2);

And it doesn't really go with the comment above these (that's not
visible here).

int virTimeStringNowRaw(char *buf)
    ATTRIBUTE_NONNULL(1) ATTRIBUTE_RETURN_CHECK;
int virTimeStringThenRaw(unsigned long long when, char *buf)
@@ -57,8 +57,8 @@ int virTimeMillisNow(unsigned long long *now)
    ATTRIBUTE_NONNULL(1) ATTRIBUTE_RETURN_CHECK;
int virTimeFieldsNow(struct tm *fields)
    ATTRIBUTE_NONNULL(1) ATTRIBUTE_RETURN_CHECK;
-int virTimeFieldsThen(unsigned long long when, struct tm *fields)
-    ATTRIBUTE_NONNULL(2) ATTRIBUTE_RETURN_CHECK;
+void virTimeFieldsThen(unsigned long long when, struct tm *fields)
+    ATTRIBUTE_NONNULL(2);

Same for this one.

But these are just a tiny thing, so I fixed them up and pushed (with
the following diff:

diff --git i/src/libvirt_private.syms w/src/libvirt_private.syms
index 51504d1..b1fb7c9 100644
--- i/src/libvirt_private.syms
+++ w/src/libvirt_private.syms
@@ -2032,7 +2032,6 @@ virThreadPoolSendJob;
virTimeFieldsNow;
virTimeFieldsNowRaw;
virTimeFieldsThen;
-virTimeFieldsThenRaw;
virTimeLocalOffsetFromUTC;
virTimeMillisNow;
virTimeMillisNowRaw;
diff --git i/src/util/virtime.c w/src/util/virtime.c
index a49e287..9fefb67 100644
--- i/src/util/virtime.c
+++ w/src/util/virtime.c
@@ -94,7 +94,8 @@ int virTimeFieldsNowRaw(struct tm *fields)
    if (virTimeMillisNowRaw(&now) < 0)
        return -1;

-    virTimeFieldsThenRaw(now, fields);
+    virTimeFieldsThen(now, fields);
+
    return 0;
}

@@ -115,7 +116,7 @@ const unsigned short int __mon_yday[2][13] = {
    ((y) % 4 == 0 && ((y) % 100 != 0 || (y) % 400 == 0))

/**
- * virTimeFieldsThenRaw:
+ * virTimeFieldsThen:
 * @when: the time to convert in milliseconds
 * @fields: filled with time @when fields
 *
@@ -123,7 +124,7 @@ const unsigned short int __mon_yday[2][13] = {
 * Time time is always in UTC
 *
 */
-void virTimeFieldsThenRaw(unsigned long long when, struct tm *fields)
+void virTimeFieldsThen(unsigned long long when, struct tm *fields)
{
    /* This code is taken from GLibC under terms of LGPLv2+ */
    long int days, rem, y;
@@ -208,7 +209,7 @@ int virTimeStringThenRaw(unsigned long long when, char *buf)
{
    struct tm fields;

-    virTimeFieldsThenRaw(when, &fields);
+    virTimeFieldsThen(when, &fields);

    fields.tm_year += 1900;
    fields.tm_mon += 1;
@@ -268,21 +269,6 @@ int virTimeFieldsNow(struct tm *fields)


/**
- * virTimeFieldsThen:
- * @when: the time to convert in milliseconds
- * @fields: filled with time @when fields
- *
- * Converts the timestamp @when into broken-down field format.
- * Time time is always in UTC
- *
- */
-void virTimeFieldsThen(unsigned long long when, struct tm *fields)
-{
-    virTimeFieldsThenRaw(when, fields);
-}
-
-
-/**
 * virTimeStringNow:
 *
 * Creates a string containing a formatted timestamp
diff --git i/src/util/virtime.h w/src/util/virtime.h
index f9432da..8ebad38 100644
--- i/src/util/virtime.h
+++ w/src/util/virtime.h
@@ -37,14 +37,15 @@
    (4 + 1 + 2 + 1 + 2 + 1 + 2 + 1 + 2 + 1 + 2 + 1 + 3 + 5 + 1)
/*   Yr      Mon     Day     Hour    Min     Sec     Ms  TZ  NULL */

+void virTimeFieldsThen(unsigned long long when, struct tm *fields)
+    ATTRIBUTE_NONNULL(2);
+
/* These APIs are async signal safe and return -1, setting
 * errno on failure */
int virTimeMillisNowRaw(unsigned long long *now)
    ATTRIBUTE_NONNULL(1) ATTRIBUTE_RETURN_CHECK;
int virTimeFieldsNowRaw(struct tm *fields)
    ATTRIBUTE_NONNULL(1) ATTRIBUTE_RETURN_CHECK;
-void virTimeFieldsThenRaw(unsigned long long when, struct tm *fields)
-    ATTRIBUTE_NONNULL(2);
int virTimeStringNowRaw(char *buf)
    ATTRIBUTE_NONNULL(1) ATTRIBUTE_RETURN_CHECK;
int virTimeStringThenRaw(unsigned long long when, char *buf)
@@ -57,8 +58,6 @@ int virTimeMillisNow(unsigned long long *now)
    ATTRIBUTE_NONNULL(1) ATTRIBUTE_RETURN_CHECK;
int virTimeFieldsNow(struct tm *fields)
    ATTRIBUTE_NONNULL(1) ATTRIBUTE_RETURN_CHECK;
-void virTimeFieldsThen(unsigned long long when, struct tm *fields)
-    ATTRIBUTE_NONNULL(2);
char *virTimeStringNow(void);
char *virTimeStringThen(unsigned long long when);

--
Martin

Attachment: signature.asc
Description: Digital signature

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list

[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]