This change moves read_ref_at() to the refs-common.c file since this function
does not contain any backend specific code.

Signed-off-by: Ronnie Sahlberg <sahlb...@google.com>
---
 refs-common.c | 114 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 refs.c        | 114 ----------------------------------------------------------
 2 files changed, 114 insertions(+), 114 deletions(-)

diff --git a/refs-common.c b/refs-common.c
index f99d83e..3d7354e 100644
--- a/refs-common.c
+++ b/refs-common.c
@@ -135,3 +135,117 @@ int rename_ref(const char *oldrefname, const char 
*newrefname, const char *logms
        transaction_free(transaction);
        return 1;
 }
+
+struct read_ref_at_cb {
+       const char *refname;
+       unsigned long at_time;
+       int cnt;
+       int reccnt;
+       unsigned char *sha1;
+       int found_it;
+
+       unsigned char osha1[20];
+       unsigned char nsha1[20];
+       int tz;
+       unsigned long date;
+       char **msg;
+       unsigned long *cutoff_time;
+       int *cutoff_tz;
+       int *cutoff_cnt;
+};
+
+static int read_ref_at_ent(unsigned char *osha1, unsigned char *nsha1,
+               const char *id, unsigned long timestamp, int tz,
+               const char *message, void *cb_data)
+{
+       struct read_ref_at_cb *cb = cb_data;
+
+       cb->reccnt++;
+       cb->tz = tz;
+       cb->date = timestamp;
+
+       if (timestamp <= cb->at_time || cb->cnt == 0) {
+               if (cb->msg)
+                       *cb->msg = xstrdup(message);
+               if (cb->cutoff_time)
+                       *cb->cutoff_time = timestamp;
+               if (cb->cutoff_tz)
+                       *cb->cutoff_tz = tz;
+               if (cb->cutoff_cnt)
+                       *cb->cutoff_cnt = cb->reccnt - 1;
+               /*
+                * we have not yet updated cb->[n|o]sha1 so they still
+                * hold the values for the previous record.
+                */
+               if (!is_null_sha1(cb->osha1)) {
+                       hashcpy(cb->sha1, nsha1);
+                       if (hashcmp(cb->osha1, nsha1))
+                               warning("Log for ref %s has gap after %s.",
+                                       cb->refname, show_date(cb->date, 
cb->tz, DATE_RFC2822));
+               }
+               else if (cb->date == cb->at_time)
+                       hashcpy(cb->sha1, nsha1);
+               else if (hashcmp(nsha1, cb->sha1))
+                       warning("Log for ref %s unexpectedly ended on %s.",
+                               cb->refname, show_date(cb->date, cb->tz,
+                                                  DATE_RFC2822));
+               hashcpy(cb->osha1, osha1);
+               hashcpy(cb->nsha1, nsha1);
+               cb->found_it = 1;
+               return 1;
+       }
+       hashcpy(cb->osha1, osha1);
+       hashcpy(cb->nsha1, nsha1);
+       if (cb->cnt > 0)
+               cb->cnt--;
+       return 0;
+}
+
+static int read_ref_at_ent_oldest(unsigned char *osha1, unsigned char *nsha1,
+                                 const char *id, unsigned long timestamp,
+                                 int tz, const char *message, void *cb_data)
+{
+       struct read_ref_at_cb *cb = cb_data;
+
+       if (cb->msg)
+               *cb->msg = xstrdup(message);
+       if (cb->cutoff_time)
+               *cb->cutoff_time = timestamp;
+       if (cb->cutoff_tz)
+               *cb->cutoff_tz = tz;
+       if (cb->cutoff_cnt)
+               *cb->cutoff_cnt = cb->reccnt;
+       hashcpy(cb->sha1, osha1);
+       if (is_null_sha1(cb->sha1))
+               hashcpy(cb->sha1, nsha1);
+       /* We just want the first entry */
+       return 1;
+}
+
+int read_ref_at(const char *refname, unsigned long at_time, int cnt,
+               unsigned char *sha1, char **msg,
+               unsigned long *cutoff_time, int *cutoff_tz, int *cutoff_cnt)
+{
+       struct read_ref_at_cb cb;
+
+       memset(&cb, 0, sizeof(cb));
+       cb.refname = refname;
+       cb.at_time = at_time;
+       cb.cnt = cnt;
+       cb.msg = msg;
+       cb.cutoff_time = cutoff_time;
+       cb.cutoff_tz = cutoff_tz;
+       cb.cutoff_cnt = cutoff_cnt;
+       cb.sha1 = sha1;
+
+       for_each_reflog_ent_reverse(refname, read_ref_at_ent, &cb);
+
+       if (!cb.reccnt)
+               die("Log for %s is empty.", refname);
+       if (cb.found_it)
+               return 0;
+
+       for_each_reflog_ent(refname, read_ref_at_ent_oldest, &cb);
+
+       return 1;
+}
diff --git a/refs.c b/refs.c
index 7d579be..52ca0bb 100644
--- a/refs.c
+++ b/refs.c
@@ -2935,120 +2935,6 @@ int create_symref(const char *ref_target, const char 
*refs_heads_master,
        return 0;
 }
 
-struct read_ref_at_cb {
-       const char *refname;
-       unsigned long at_time;
-       int cnt;
-       int reccnt;
-       unsigned char *sha1;
-       int found_it;
-
-       unsigned char osha1[20];
-       unsigned char nsha1[20];
-       int tz;
-       unsigned long date;
-       char **msg;
-       unsigned long *cutoff_time;
-       int *cutoff_tz;
-       int *cutoff_cnt;
-};
-
-static int read_ref_at_ent(unsigned char *osha1, unsigned char *nsha1,
-               const char *id, unsigned long timestamp, int tz,
-               const char *message, void *cb_data)
-{
-       struct read_ref_at_cb *cb = cb_data;
-
-       cb->reccnt++;
-       cb->tz = tz;
-       cb->date = timestamp;
-
-       if (timestamp <= cb->at_time || cb->cnt == 0) {
-               if (cb->msg)
-                       *cb->msg = xstrdup(message);
-               if (cb->cutoff_time)
-                       *cb->cutoff_time = timestamp;
-               if (cb->cutoff_tz)
-                       *cb->cutoff_tz = tz;
-               if (cb->cutoff_cnt)
-                       *cb->cutoff_cnt = cb->reccnt - 1;
-               /*
-                * we have not yet updated cb->[n|o]sha1 so they still
-                * hold the values for the previous record.
-                */
-               if (!is_null_sha1(cb->osha1)) {
-                       hashcpy(cb->sha1, nsha1);
-                       if (hashcmp(cb->osha1, nsha1))
-                               warning("Log for ref %s has gap after %s.",
-                                       cb->refname, show_date(cb->date, 
cb->tz, DATE_RFC2822));
-               }
-               else if (cb->date == cb->at_time)
-                       hashcpy(cb->sha1, nsha1);
-               else if (hashcmp(nsha1, cb->sha1))
-                       warning("Log for ref %s unexpectedly ended on %s.",
-                               cb->refname, show_date(cb->date, cb->tz,
-                                                  DATE_RFC2822));
-               hashcpy(cb->osha1, osha1);
-               hashcpy(cb->nsha1, nsha1);
-               cb->found_it = 1;
-               return 1;
-       }
-       hashcpy(cb->osha1, osha1);
-       hashcpy(cb->nsha1, nsha1);
-       if (cb->cnt > 0)
-               cb->cnt--;
-       return 0;
-}
-
-static int read_ref_at_ent_oldest(unsigned char *osha1, unsigned char *nsha1,
-                                 const char *id, unsigned long timestamp,
-                                 int tz, const char *message, void *cb_data)
-{
-       struct read_ref_at_cb *cb = cb_data;
-
-       if (cb->msg)
-               *cb->msg = xstrdup(message);
-       if (cb->cutoff_time)
-               *cb->cutoff_time = timestamp;
-       if (cb->cutoff_tz)
-               *cb->cutoff_tz = tz;
-       if (cb->cutoff_cnt)
-               *cb->cutoff_cnt = cb->reccnt;
-       hashcpy(cb->sha1, osha1);
-       if (is_null_sha1(cb->sha1))
-               hashcpy(cb->sha1, nsha1);
-       /* We just want the first entry */
-       return 1;
-}
-
-int read_ref_at(const char *refname, unsigned long at_time, int cnt,
-               unsigned char *sha1, char **msg,
-               unsigned long *cutoff_time, int *cutoff_tz, int *cutoff_cnt)
-{
-       struct read_ref_at_cb cb;
-
-       memset(&cb, 0, sizeof(cb));
-       cb.refname = refname;
-       cb.at_time = at_time;
-       cb.cnt = cnt;
-       cb.msg = msg;
-       cb.cutoff_time = cutoff_time;
-       cb.cutoff_tz = cutoff_tz;
-       cb.cutoff_cnt = cutoff_cnt;
-       cb.sha1 = sha1;
-
-       for_each_reflog_ent_reverse(refname, read_ref_at_ent, &cb);
-
-       if (!cb.reccnt)
-               die("Log for %s is empty.", refname);
-       if (cb.found_it)
-               return 0;
-
-       for_each_reflog_ent(refname, read_ref_at_ent_oldest, &cb);
-
-       return 1;
-}
-
 int reflog_exists(const char *refname)
 {
        struct stat st;
-- 
2.0.1.553.geee1b3e

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to