git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 5/8] init-db.c: refactor mkdir logic

From
ZWZach Welch <zw@superlucidity.net>
Date
Apr 19, 2005, 09:09 UTC
Message-ID
<mailbox-23311-1113901779-730821@spoon>
Move redundant mkdir call logic into helper function.
This patch applies on top of:
        [PATCH 0/8] init-db.c cleanup, add INDEX_FILE_DIRECTORY support
        [PATCH 1/8] init-db.c: [RESEND] remove redundant getenv call
        [PATCH 2/8] init-db.c: [RESEND] make init-db work with common objects
        [PATCH 3/8] init-db.c: refactor directory creation
        [PATCH 4/8] init-db.c: add INDEX_FILE_DIRECTORY support
 init-db.c |   24 ++++++++++++------------
 1 files changed, 12 insertions(+), 12 deletions(-)
Signed-Off-By: Zach Welch <zw@superlucidity.net>
--- a/init-db.c	2005-04-19 01:36:58.000000000 -0700
+++ b/init-db.c	2005-04-19 01:37:03.000000000 -0700
@@ -11,6 +11,16 @@
  * be the judge.  The default case is to have a DB per managed directory.
  */
 
+static void create_dir(char *path) 
+{
+	if (mkdir(dir, 0755) < 0) {
+		if (errno != EEXIST) {
+			perror(dir);
+			exit(1);
+		}
+	}
+}
+
 static char* init_dir(char *env, char *std, char *label, int *len)
 {
 	char *dir;
@@ -26,12 +36,7 @@
 		dir = std;
 		fprintf(stderr, "defaulting to private %s area\n", label);
 	}
-	if (mkdir(dir, 0755) < 0) {
-		if (errno != EEXIST) {
-			perror(dir);
-			exit(1);
-		}
-	}
+	create_dir(dir);
 	if (len)
 		*len = strlen(dir);
 	return dir;
@@ -49,12 +54,7 @@
 	memcpy(path, sha1_dir, len);
 	for (i = 0; i < 256; i++) {
 		sprintf(path+len, "/%02x", i);
-		if (mkdir(path, 0755) < 0) {
-			if (errno != EEXIST) {
-				perror(path);
-				exit(1);
-			}
-		}
+		create_dir(path);
 	}
 	return 0;
 }
Message 1 of 1 in “init-db.c: refactor mkdir logic”
  1. 5/8 init-db.c: refactor mkdir logicZach Welch, Apr 19, 2005

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.