better code
[ppastats.git] / src / lp_ws.c
index fcf08c4..55a54aa 100644 (file)
@@ -59,7 +59,7 @@ static json_object *get_json_object(const char *url)
        return NULL;
 }
 
-char *get_bpph_list_cache_key(const char *archive_url)
+static char *get_bpph_list_cache_key(const char *archive_url)
 {
        char *key;
 
@@ -69,7 +69,7 @@ char *get_bpph_list_cache_key(const char *archive_url)
        return key;
 }
 
-struct bpph **get_bpph_list_from_cache(const char *key)
+static struct bpph **get_bpph_list_from_cache(const char *key)
 {
        char *content;
        struct bpph **list;
@@ -91,7 +91,7 @@ struct bpph **get_bpph_list_from_cache(const char *key)
        return list;
 }
 
-struct tm *get_last_creation_date(struct bpph **list)
+static char *get_last_creation_date(struct bpph **list)
 {
        time_t last, t;
        struct bpph **cur;
@@ -100,12 +100,15 @@ struct tm *get_last_creation_date(struct bpph **list)
 
        if (list)
                for (cur = list; *cur; cur++) {
-                       t = mktime(&(*cur)->date_created);
+                       t = (*cur)->date_created;
                        if (t > last)
                                last = t;
                }
 
-       return localtime(&last);
+       if (last)
+               return time_to_str(last);
+       else
+               return NULL;
 }
 
 struct bpph **get_bpph_list(const char *archive_url, const char *pkg_status)
@@ -114,7 +117,6 @@ struct bpph **get_bpph_list(const char *archive_url, const char *pkg_status)
        struct bpph **result = NULL;
        struct json_object *o, *bpph_json, *o_next;
        char *created_since_date;
-       struct tm *tm;
        int ok;
 
        url = malloc(strlen(archive_url)
@@ -128,27 +130,24 @@ struct bpph **get_bpph_list(const char *archive_url, const char *pkg_status)
        result = get_bpph_list_from_cache(key);
 
        if (result) {
-               tm = get_last_creation_date(result);
-
-               created_since_date = malloc(200);
-               strftime(created_since_date,
-                        100,
-                        "%FT%T",
-                        tm);
+               created_since_date = get_last_creation_date(result);
 
-               printf("Update package since: %s\n", created_since_date);
+               if (created_since_date) {
+                       printf("Update package since: %s\n",
+                              created_since_date);
 
-               tmp = malloc(strlen(url)
-                            + strlen("&created_since_date=")
-                            + strlen(created_since_date)+1);
-               strcpy(tmp, url);
-               strcat(tmp, "&created_since_date=");
-               strcat(tmp, created_since_date);
+                       tmp = malloc(strlen(url)
+                                    + strlen("&created_since_date=")
+                                    + strlen(created_since_date)+1);
+                       strcpy(tmp, url);
+                       strcat(tmp, "&created_since_date=");
+                       strcat(tmp, created_since_date);
 
-               free(url);
-               url = tmp;
+                       free(url);
+                       url = tmp;
 
-               free(created_since_date);
+                       free(created_since_date);
+               }
        }
 
        ok = 1;