#define MAX_TAGS       (FLAG_BITS - 1)
 
 static const char * const describe_usage[] = {
-       "git-describe [options] <committish>*",
+       "git describe [options] <committish>*",
        NULL
 };
 
 static int longformat;
 static int abbrev = DEFAULT_ABBREV;
 static int max_candidates = 10;
-const char *pattern = NULL;
+static const char *pattern;
 static int always;
 
 struct commit_name {
         * Otherwise only annotated tags are used.
         */
        if (might_be_tag) {
-               if (is_tag) {
+               if (is_tag)
                        prio = 2;
-                       if (pattern && fnmatch(pattern, path + 10, 0))
-                               prio = 0;
-               } else
+               else
                        prio = 1;
+
+               if (pattern && fnmatch(pattern, path + 10, 0))
+                       prio = 0;
        }
        else
                prio = 0;
                 */
                display_name(n);
                if (longformat)
-                       show_suffix(0, n->tag->tagged->sha1);
+                       show_suffix(0, n->tag ? n->tag->tagged->sha1 : sha1);
                printf("\n");
                return;
        }