{"thread":{"id":"22964","subject":"Portability patches vs 1.7.0.2 [3/6]","startedAt":"2010-03-09T16:05:37Z","lastAt":"2010-03-09T16:05:37Z","messageCount":1,"participants":["Gary V. Vaughan"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"136451","messageId":"20100309160537.GD99172@thor.il.thewrittenword.com","threadId":"22964","inReplyTo":null,"subject":"Portability patches vs 1.7.0.2 [3/6]","fromName":"Gary V. Vaughan","fromEmail":"git@mlists.thewrittenword.com","sentAt":"2010-03-09T16:05:37Z","receivedAt":"2010-03-09T16:05:37Z","isPatch":false,"sender":{"key":"git@mlists.thewrittenword.com","avatar":null},"body":"## Dangling commas in enum is not portable\n\nUnfortunately there are a still a lot of vendor compilers that choke\nwhen the last entry in an enum has a dangling comma (irix is one, and\nI can get you a list of which of our particular platforms exhibit this\nproblem).\n\nThis patch simply deletes all the commas that are required to be able\nto compile those enums on all of our supported architectures.\n\nCheers,\n-- \nGary V. Vaughan (gary@thewrittenword.com)\n\n\nIndex: dir.c\n===================================================================\n--- dir.c.orig\n+++ dir.c\n@@ -465,7 +465,7 @@ static struct dir_entry *dir_add_ignored\n enum exist_status {\n \tindex_nonexistent = 0,\n \tindex_directory,\n-\tindex_gitdir,\n+\tindex_gitdir\n };\n \n /*\n@@ -533,7 +533,7 @@ static enum exist_status directory_exist\n enum directory_treatment {\n \tshow_directory,\n \tignore_directory,\n-\trecurse_into_directory,\n+\trecurse_into_directory\n };\n \n static enum directory_treatment treat_directory(struct dir_struct *dir,\nIndex: cache.h\n===================================================================\n--- cache.h.orig\n+++ cache.h\n@@ -361,7 +361,7 @@ enum object_type {\n \tOBJ_OFS_DELTA = 6,\n \tOBJ_REF_DELTA = 7,\n \tOBJ_ANY,\n-\tOBJ_MAX,\n+\tOBJ_MAX\n };\n \n static inline enum object_type object_type(unsigned int mode)\n@@ -544,7 +544,7 @@ extern int core_apply_sparse_checkout;\n enum safe_crlf {\n \tSAFE_CRLF_FALSE = 0,\n \tSAFE_CRLF_FAIL = 1,\n-\tSAFE_CRLF_WARN = 2,\n+\tSAFE_CRLF_WARN = 2\n };\n \n extern enum safe_crlf safe_crlf;\n@@ -555,14 +555,14 @@ enum branch_track {\n \tBRANCH_TRACK_REMOTE,\n \tBRANCH_TRACK_ALWAYS,\n \tBRANCH_TRACK_EXPLICIT,\n-\tBRANCH_TRACK_OVERRIDE,\n+\tBRANCH_TRACK_OVERRIDE\n };\n \n enum rebase_setup_type {\n \tAUTOREBASE_NEVER = 0,\n \tAUTOREBASE_LOCAL,\n \tAUTOREBASE_REMOTE,\n-\tAUTOREBASE_ALWAYS,\n+\tAUTOREBASE_ALWAYS\n };\n \n enum push_default_type {\n@@ -654,7 +654,7 @@ enum sharedrepo {\n \tOLD_PERM_GROUP      = 1,\n \tOLD_PERM_EVERYBODY  = 2,\n \tPERM_GROUP          = 0660,\n-\tPERM_EVERYBODY      = 0664,\n+\tPERM_EVERYBODY      = 0664\n };\n int git_config_perm(const char *var, const char *value);\n int set_shared_perm(const char *path, int mode);\n@@ -863,7 +863,7 @@ struct ref {\n \t\tREF_STATUS_REJECT_NODELETE,\n \t\tREF_STATUS_UPTODATE,\n \t\tREF_STATUS_REMOTE_REJECT,\n-\t\tREF_STATUS_EXPECTING_REPORT,\n+\t\tREF_STATUS_EXPECTING_REPORT\n \t} status;\n \tchar *remote_status;\n \tstruct ref *peer_ref; /* when renaming */\nIndex: commit.h\n===================================================================\n--- commit.h.orig\n+++ commit.h\n@@ -60,7 +60,7 @@ enum cmit_fmt {\n \tCMIT_FMT_EMAIL,\n \tCMIT_FMT_USERFORMAT,\n \n-\tCMIT_FMT_UNSPECIFIED,\n+\tCMIT_FMT_UNSPECIFIED\n };\n \n struct pretty_print_context\nIndex: diff.h\n===================================================================\n--- diff.h.orig\n+++ diff.h\n@@ -131,7 +131,7 @@ enum color_diff {\n \tDIFF_FILE_NEW = 5,\n \tDIFF_COMMIT = 6,\n \tDIFF_WHITESPACE = 7,\n-\tDIFF_FUNCINFO = 8,\n+\tDIFF_FUNCINFO = 8\n };\n const char *diff_get_color(int diff_use_color, enum color_diff ix);\n #define diff_get_color_opt(o, ix) \\\nIndex: grep.h\n===================================================================\n--- grep.h.orig\n+++ grep.h\n@@ -10,17 +10,17 @@ enum grep_pat_token {\n \tGREP_OPEN_PAREN,\n \tGREP_CLOSE_PAREN,\n \tGREP_NOT,\n-\tGREP_OR,\n+\tGREP_OR\n };\n \n enum grep_context {\n \tGREP_CONTEXT_HEAD,\n-\tGREP_CONTEXT_BODY,\n+\tGREP_CONTEXT_BODY\n };\n \n enum grep_header_field {\n \tGREP_HEADER_AUTHOR = 0,\n-\tGREP_HEADER_COMMITTER,\n+\tGREP_HEADER_COMMITTER\n };\n \n struct grep_pat {\n@@ -40,7 +40,7 @@ enum grep_expr_node {\n \tGREP_NODE_ATOM,\n \tGREP_NODE_NOT,\n \tGREP_NODE_AND,\n-\tGREP_NODE_OR,\n+\tGREP_NODE_OR\n };\n \n struct grep_expr {\nIndex: remote.h\n===================================================================\n--- remote.h.orig\n+++ remote.h\n@@ -145,7 +145,7 @@ int branch_merge_matches(struct branch *\n enum match_refs_flags {\n \tMATCH_REFS_NONE\t\t= 0,\n \tMATCH_REFS_ALL \t\t= (1 << 0),\n-\tMATCH_REFS_MIRROR\t= (1 << 1),\n+\tMATCH_REFS_MIRROR\t= (1 << 1)\n };\n \n /* Reporting of tracking info */\nIndex: connect.c\n===================================================================\n--- connect.c.orig\n+++ connect.c\n@@ -131,7 +131,7 @@ int path_match(const char *path, int nr,\n enum protocol {\n \tPROTO_LOCAL = 1,\n \tPROTO_SSH,\n-\tPROTO_GIT,\n+\tPROTO_GIT\n };\n \n static enum protocol get_protocol(const char *name)\nIndex: revision.c\n===================================================================\n--- revision.c.orig\n+++ revision.c\n@@ -1758,7 +1758,7 @@ int prepare_revision_walk(struct rev_inf\n enum rewrite_result {\n \trewrite_one_ok,\n \trewrite_one_noparents,\n-\trewrite_one_error,\n+\trewrite_one_error\n };\n \n static enum rewrite_result rewrite_one(struct rev_info *revs, struct commit **pp)\nIndex: http-walker.c\n===================================================================\n--- http-walker.c.orig\n+++ http-walker.c\n@@ -15,7 +15,7 @@ enum object_request_state {\n \tWAITING,\n \tABORTED,\n \tACTIVE,\n-\tCOMPLETE,\n+\tCOMPLETE\n };\n \n struct object_request\nIndex: fast-import.c\n===================================================================\n--- fast-import.c.orig\n+++ fast-import.c\n@@ -267,7 +267,7 @@ struct hash_list\n typedef enum {\n \tWHENSPEC_RAW = 1,\n \tWHENSPEC_RFC2822,\n-\tWHENSPEC_NOW,\n+\tWHENSPEC_NOW\n } whenspec_type;\n \n struct recent_command\nIndex: http-push.c\n===================================================================\n--- http-push.c.orig\n+++ http-push.c\n@@ -105,7 +105,7 @@ enum transfer_state {\n \tRUN_PUT,\n \tRUN_MOVE,\n \tABORTED,\n-\tCOMPLETE,\n+\tCOMPLETE\n };\n \n struct transfer_request\nIndex: builtin-commit.c\n===================================================================\n--- builtin-commit.c.orig\n+++ builtin-commit.c\n@@ -57,7 +57,7 @@ static struct lock_file false_lock; /* u\n static enum {\n \tCOMMIT_AS_IS = 1,\n \tCOMMIT_NORMAL,\n-\tCOMMIT_PARTIAL,\n+\tCOMMIT_PARTIAL\n } commit_style;\n \n static const char *logfile, *force_author;\n@@ -77,7 +77,7 @@ static char *untracked_files_arg, *force\n static enum {\n \tCLEANUP_SPACE,\n \tCLEANUP_NONE,\n-\tCLEANUP_ALL,\n+\tCLEANUP_ALL\n } cleanup_mode;\n static char *cleanup_arg;\n \nIndex: rerere.c\n===================================================================\n--- rerere.c.orig\n+++ rerere.c\n@@ -153,7 +153,7 @@ static int handle_path(unsigned char *sh\n \tgit_SHA_CTX ctx;\n \tint hunk_no = 0;\n \tenum {\n-\t\tRR_CONTEXT = 0, RR_SIDE_1, RR_SIDE_2, RR_ORIGINAL,\n+\t\tRR_CONTEXT = 0, RR_SIDE_1, RR_SIDE_2, RR_ORIGINAL\n \t} hunk = RR_CONTEXT;\n \tstruct strbuf one = STRBUF_INIT, two = STRBUF_INIT;\n \tstruct strbuf buf = STRBUF_INIT;\nIndex: wt-status.h\n===================================================================\n--- wt-status.h.orig\n+++ wt-status.h\n@@ -11,7 +11,7 @@ enum color_wt_status {\n \tWT_STATUS_CHANGED,\n \tWT_STATUS_UNTRACKED,\n \tWT_STATUS_NOBRANCH,\n-\tWT_STATUS_UNMERGED,\n+\tWT_STATUS_UNMERGED\n };\n \n enum untracked_status_type {\nIndex: builtin-apply.c\n===================================================================\n--- builtin-apply.c.orig\n+++ builtin-apply.c\n@@ -56,7 +56,7 @@ static enum ws_error_action {\n \tnowarn_ws_error,\n \twarn_on_ws_error,\n \tdie_on_ws_error,\n-\tcorrect_ws_error,\n+\tcorrect_ws_error\n } ws_error_action = warn_on_ws_error;\n static int whitespace_error;\n static int squelch_whitespace_errors = 5;\nIndex: builtin-branch.c\n===================================================================\n--- builtin-branch.c.orig\n+++ builtin-branch.c\n@@ -36,20 +36,20 @@ static char branch_colors[][COLOR_MAXLEN\n \tGIT_COLOR_NORMAL,\t/* PLAIN */\n \tGIT_COLOR_RED,\t\t/* REMOTE */\n \tGIT_COLOR_NORMAL,\t/* LOCAL */\n-\tGIT_COLOR_GREEN,\t/* CURRENT */\n+\tGIT_COLOR_GREEN\t\t/* CURRENT */\n };\n enum color_branch {\n \tBRANCH_COLOR_RESET = 0,\n \tBRANCH_COLOR_PLAIN = 1,\n \tBRANCH_COLOR_REMOTE = 2,\n \tBRANCH_COLOR_LOCAL = 3,\n-\tBRANCH_COLOR_CURRENT = 4,\n+\tBRANCH_COLOR_CURRENT = 4\n };\n \n static enum merge_filter {\n \tNO_FILTER = 0,\n \tSHOW_NOT_MERGED,\n-\tSHOW_MERGED,\n+\tSHOW_MERGED\n } merge_filter;\n static unsigned char merge_filter_ref[20];\n \nIndex: builtin-help.c\n===================================================================\n--- builtin-help.c.orig\n+++ builtin-help.c\n@@ -26,7 +26,7 @@ enum help_format {\n \tHELP_FORMAT_NONE,\n \tHELP_FORMAT_MAN,\n \tHELP_FORMAT_INFO,\n-\tHELP_FORMAT_WEB,\n+\tHELP_FORMAT_WEB\n };\n \n static int show_all = 0;\nIndex: builtin-mailinfo.c\n===================================================================\n--- builtin-mailinfo.c.orig\n+++ builtin-mailinfo.c\n@@ -17,10 +17,10 @@ static struct strbuf name = STRBUF_INIT;\n static struct strbuf email = STRBUF_INIT;\n \n static enum  {\n-\tTE_DONTCARE, TE_QP, TE_BASE64,\n+\tTE_DONTCARE, TE_QP, TE_BASE64\n } transfer_encoding;\n static enum  {\n-\tTYPE_TEXT, TYPE_OTHER,\n+\tTYPE_TEXT, TYPE_OTHER\n } message_type;\n \n static struct strbuf charset = STRBUF_INIT;\nIndex: builtin-receive-pack.c\n===================================================================\n--- builtin-receive-pack.c.orig\n+++ builtin-receive-pack.c\n@@ -16,7 +16,7 @@ enum deny_action {\n \tDENY_UNCONFIGURED,\n \tDENY_IGNORE,\n \tDENY_WARN,\n-\tDENY_REFUSE,\n+\tDENY_REFUSE\n };\n \n static int deny_deletes;\nIndex: imap-send.c\n===================================================================\n--- imap-send.c.orig\n+++ imap-send.c\n@@ -212,7 +212,7 @@ enum CAPABILITY {\n \tUIDPLUS,\n \tLITERALPLUS,\n \tNAMESPACE,\n-\tSTARTTLS,\n+\tSTARTTLS\n };\n \n static const char *cap_list[] = {\nIndex: ctype.c\n===================================================================\n--- ctype.c.orig\n+++ ctype.c\n@@ -10,7 +10,7 @@ enum {\n \tA = GIT_ALPHA,\n \tD = GIT_DIGIT,\n \tG = GIT_GLOB_SPECIAL,\t/* *, ?, [, \\\\ */\n-\tR = GIT_REGEX_SPECIAL,\t/* $, (, ), +, ., ^, {, | */\n+\tR = GIT_REGEX_SPECIAL\t/* $, (, ), +, ., ^, {, | */\n };\n \n unsigned char sane_ctype[256] = {\n@@ -21,6 +21,6 @@ unsigned char sane_ctype[256] = {\n \t0, A, A, A, A, A, A, A, A, A, A, A, A, A, A, A,\t\t/*  64.. 79 */\n \tA, A, A, A, A, A, A, A, A, A, A, G, G, 0, R, 0,\t\t/*  80.. 95 */\n \t0, A, A, A, A, A, A, A, A, A, A, A, A, A, A, A,\t\t/*  96..111 */\n-\tA, A, A, A, A, A, A, A, A, A, A, R, R, 0, 0, 0,\t\t/* 112..127 */\n+\tA, A, A, A, A, A, A, A, A, A, A, R, R, 0, 0, 0\t\t/* 112..127 */\n \t/* Nothing in the 128.. range */\n };\n"}]}