Code

Notes API: get_note(): Return the note annotating the given object
authorJohan Herland <johan@herland.net>
Sat, 13 Feb 2010 21:28:15 +0000 (22:28 +0100)
committerJunio C Hamano <gitster@pobox.com>
Sun, 14 Feb 2010 03:36:12 +0000 (19:36 -0800)
Created by a simple cleanup and rename of lookup_notes().

Signed-off-by: Johan Herland <johan@herland.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
notes.c
notes.h

diff --git a/notes.c b/notes.c
index 2e82d719877142dcdaf447544ba856842757ff65..a0a85b4dafe91481c06985b3faffd8c7d964d051 100644 (file)
--- a/notes.c
+++ b/notes.c
@@ -462,12 +462,13 @@ void remove_note(const unsigned char *object_sha1)
        return note_tree_remove(&root_node, 0, &l);
 }
 
-static unsigned char *lookup_notes(const unsigned char *object_sha1)
+const unsigned char *get_note(const unsigned char *object_sha1)
 {
-       struct leaf_node *found = note_tree_find(&root_node, 0, object_sha1);
-       if (found)
-               return found->val_sha1;
-       return NULL;
+       struct leaf_node *found;
+
+       assert(initialized);
+       found = note_tree_find(&root_node, 0, object_sha1);
+       return found ? found->val_sha1 : NULL;
 }
 
 void free_notes(void)
@@ -481,7 +482,7 @@ void format_note(const unsigned char *object_sha1, struct strbuf *sb,
                const char *output_encoding, int flags)
 {
        static const char utf8[] = "utf-8";
-       unsigned char *sha1;
+       const unsigned char *sha1;
        char *msg, *msg_p;
        unsigned long linelen, msglen;
        enum object_type type;
@@ -489,7 +490,7 @@ void format_note(const unsigned char *object_sha1, struct strbuf *sb,
        if (!initialized)
                init_notes(NULL, 0);
 
-       sha1 = lookup_notes(object_sha1);
+       sha1 = get_note(object_sha1);
        if (!sha1)
                return;
 
diff --git a/notes.h b/notes.h
index 9e66855222a1df55aa50122ea21652369c044fd4..0041aecae02e131bfc249ffa40ec702c865e8b45 100644 (file)
--- a/notes.h
+++ b/notes.h
@@ -28,6 +28,13 @@ void add_note(const unsigned char *object_sha1,
 /* Remove the given note object from the internal notes tree structure */
 void remove_note(const unsigned char *object_sha1);
 
+/*
+ * Get the note object SHA1 containing the note data for the given object
+ *
+ * Return NULL if the given object has no notes.
+ */
+const unsigned char *get_note(const unsigned char *object_sha1);
+
 /* Free (and de-initialize) the internal notes tree structure */
 void free_notes(void);