git-2.22.0/compat/mkdir.c
/* for platforms that can't deal with a trailing '/' */
for platforms that can't deal with a trailing '/'
for platforms that can ' t deal with a trailing ' / '
int compat_mkdir_wo_trailing_slash(const char *dir, mode_t mode)
{
	int retval;
	char *tmp_dir = NULL;
	size_t len = strlen(dir);
	if (len && dir[len-1] == '/') {
		if ((tmp_dir = strdup(dir)) == NULL)
			return -1;
		tmp_dir[len-1] = '\0';
	}
	else
		tmp_dir = (char *)dir;
	retval = mkdir(tmp_dir, mode);
	if (tmp_dir != dir)
		free(tmp_dir);
	return retval;
}
int compat_mkdir_wo_trailing_slash ( const char * dir , mode_t mode ) { int retval ; char * tmp_dir = NULL ; size_t len = strlen ( dir ) ; if ( len && dir [ len - 1 ] == ' ' ) { if ( ( tmp_dir = strdup ( dir ) ) == NULL ) return -1 ; tmp_dir [ len - 1 ] = ' \0 ' ; } else tmp_dir = ( char * ) dir ; retval = mkdir ( tmp_dir , mode ) ; if ( tmp_dir != dir ) free ( tmp_dir ) ; return retval ; }
for platforms that can't deal with a trailing '/'
for platforms that can ' t deal with a trailing ' / '