فهرست منبع

rely on the maildir's existence with "SyncState *"

now that we open the box first, we know that it will exist at this
point.
Oswald Buddenhagen 14 سال پیش
والد
کامیت
e5d323cc47
1فایلهای تغییر یافته به همراه10 افزوده شده و 10 حذف شده
  1. 10 10
      src/sync.c

+ 10 - 10
src/sync.c

@@ -621,17 +621,17 @@ box_selected( int sts, void *aux )
 			free( cmname );
 		}
 		free( csname );
+		if (!(s = strrchr( svars->dname, '/' ))) {
+			error( "Error: invalid SyncState '%s'\n", svars->dname );
+			goto sbail;
+		}
+		*s = 0;
+		if (mkdir( svars->dname, 0700 ) && errno != EEXIST) {
+			error( "Error: cannot create SyncState directory '%s': %s\n", svars->dname, strerror(errno) );
+			goto sbail;
+		}
+		*s = '/';
 	}
-	if (!(s = strrchr( svars->dname, '/' ))) {
-		error( "Error: invalid SyncState '%s'\n", svars->dname );
-		goto sbail;
-	}
-	*s = 0;
-	if (mkdir( svars->dname, 0700 ) && errno != EEXIST) {
-		error( "Error: cannot create SyncState directory '%s': %s\n", svars->dname, strerror(errno) );
-		goto sbail;
-	}
-	*s = '/';
 	nfasprintf( &svars->jname, "%s.journal", svars->dname );
 	nfasprintf( &svars->nname, "%s.new", svars->dname );
 	nfasprintf( &svars->lname, "%s.lock", svars->dname );