{"thread":{"id":"134","subject":"[PATCH 5/8] init-db.c: refactor mkdir logic","startedAt":"2005-04-19T09:09:39Z","lastAt":"2005-04-19T09:09:39Z","messageCount":1,"participants":["Zach Welch"],"isPatch":true,"patchVersion":1,"patchTotal":8},"messages":[{"id":"802","messageId":"mailbox-23311-1113901779-730821@spoon","threadId":"134","inReplyTo":null,"subject":"[PATCH 5/8] init-db.c: refactor mkdir logic","fromName":"Zach Welch","fromEmail":"zw@superlucidity.net","sentAt":"2005-04-19T09:09:39Z","receivedAt":"2005-04-19T09:09:39Z","isPatch":true,"sender":{"key":"zw@superlucidity.net","avatar":null},"body":"Move redundant mkdir call logic into helper function.\n\nThis patch applies on top of:\n        [PATCH 0/8] init-db.c cleanup, add INDEX_FILE_DIRECTORY support\n        [PATCH 1/8] init-db.c: [RESEND] remove redundant getenv call\n        [PATCH 2/8] init-db.c: [RESEND] make init-db work with common objects\n        [PATCH 3/8] init-db.c: refactor directory creation\n        [PATCH 4/8] init-db.c: add INDEX_FILE_DIRECTORY support\n init-db.c |   24 ++++++++++++------------\n 1 files changed, 12 insertions(+), 12 deletions(-)\nSigned-Off-By: Zach Welch <zw@superlucidity.net>\n\n\n--- a/init-db.c\t2005-04-19 01:36:58.000000000 -0700\n+++ b/init-db.c\t2005-04-19 01:37:03.000000000 -0700\n@@ -11,6 +11,16 @@\n  * be the judge.  The default case is to have a DB per managed directory.\n  */\n \n+static void create_dir(char *path) \n+{\n+\tif (mkdir(dir, 0755) < 0) {\n+\t\tif (errno != EEXIST) {\n+\t\t\tperror(dir);\n+\t\t\texit(1);\n+\t\t}\n+\t}\n+}\n+\n static char* init_dir(char *env, char *std, char *label, int *len)\n {\n \tchar *dir;\n@@ -26,12 +36,7 @@\n \t\tdir = std;\n \t\tfprintf(stderr, \"defaulting to private %s area\\n\", label);\n \t}\n-\tif (mkdir(dir, 0755) < 0) {\n-\t\tif (errno != EEXIST) {\n-\t\t\tperror(dir);\n-\t\t\texit(1);\n-\t\t}\n-\t}\n+\tcreate_dir(dir);\n \tif (len)\n \t\t*len = strlen(dir);\n \treturn dir;\n@@ -49,12 +54,7 @@\n \tmemcpy(path, sha1_dir, len);\n \tfor (i = 0; i < 256; i++) {\n \t\tsprintf(path+len, \"/%02x\", i);\n-\t\tif (mkdir(path, 0755) < 0) {\n-\t\t\tif (errno != EEXIST) {\n-\t\t\t\tperror(path);\n-\t\t\t\texit(1);\n-\t\t\t}\n-\t\t}\n+\t\tcreate_dir(path);\n \t}\n \treturn 0;\n }\n"}]}