git-p4: better error reporting when p4 fails
[gitweb.git] / strbuf.c
index 013fc673fa421d6c5abdc40d3ce3c48528464724..622c462d5478dcc6290b118787ebe71f99c4b882 100644 (file)
--- a/strbuf.c
+++ b/strbuf.c
@@ -1,6 +1,5 @@
 #include "cache.h"
 #include "refs.h"
-#include "string-list.h"
 #include "utf8.h"
 
 int starts_with(const char *str, const char *prefix)
@@ -12,6 +11,15 @@ int starts_with(const char *str, const char *prefix)
                        return 0;
 }
 
+int istarts_with(const char *str, const char *prefix)
+{
+       for (; ; str++, prefix++)
+               if (!*prefix)
+                       return 1;
+               else if (tolower(*str) != tolower(*prefix))
+                       return 0;
+}
+
 int skip_to_optional_arg_default(const char *str, const char *prefix,
                                 const char **arg, const char *def)
 {
@@ -172,21 +180,6 @@ struct strbuf **strbuf_split_buf(const char *str, size_t slen,
        return ret;
 }
 
-void strbuf_add_separated_string_list(struct strbuf *str,
-                                     const char *sep,
-                                     struct string_list *slist)
-{
-       struct string_list_item *item;
-       int sep_needed = 0;
-
-       for_each_string_list_item(item, slist) {
-               if (sep_needed)
-                       strbuf_addstr(str, sep);
-               strbuf_addstr(str, item->string);
-               sep_needed = 1;
-       }
-}
-
 void strbuf_list_free(struct strbuf **sbs)
 {
        struct strbuf **s = sbs;
@@ -809,7 +802,18 @@ char *xstrdup_tolower(const char *string)
        result = xmallocz(len);
        for (i = 0; i < len; i++)
                result[i] = tolower(string[i]);
-       result[i] = '\0';
+       return result;
+}
+
+char *xstrdup_toupper(const char *string)
+{
+       char *result;
+       size_t len, i;
+
+       len = strlen(string);
+       result = xmallocz(len);
+       for (i = 0; i < len; i++)
+               result[i] = toupper(string[i]);
        return result;
 }
 
@@ -897,12 +901,12 @@ void strbuf_addftime(struct strbuf *sb, const char *fmt, const struct tm *tm,
        strbuf_setlen(sb, sb->len + len);
 }
 
-void strbuf_add_unique_abbrev(struct strbuf *sb, const unsigned char *sha1,
+void strbuf_add_unique_abbrev(struct strbuf *sb, const struct object_id *oid,
                              int abbrev_len)
 {
        int r;
        strbuf_grow(sb, GIT_SHA1_HEXSZ + 1);
-       r = find_unique_abbrev_r(sb->buf + sb->len, sha1, abbrev_len);
+       r = find_unique_abbrev_r(sb->buf + sb->len, oid, abbrev_len);
        strbuf_setlen(sb, sb->len + r);
 }