Code cleanup
This commit is contained in:
parent
939a97ee95
commit
942db224a9
|
@ -83,6 +83,7 @@ static GtkWidget * _git_get_widget(Git * git);
|
||||||
static void _git_refresh(Git * git, GList * selection);
|
static void _git_refresh(Git * git, GList * selection);
|
||||||
|
|
||||||
/* accessors */
|
/* accessors */
|
||||||
|
static String * _git_get_base(char const * filename);
|
||||||
static gboolean _git_is_managed(char const * filename);
|
static gboolean _git_is_managed(char const * filename);
|
||||||
|
|
||||||
/* useful */
|
/* useful */
|
||||||
|
@ -372,11 +373,11 @@ static void _refresh_status(Git * git, char const * status)
|
||||||
|
|
||||||
|
|
||||||
/* accessors */
|
/* accessors */
|
||||||
/* git_is_managed */
|
/* git_get_base */
|
||||||
static gboolean _git_is_managed(char const * filename)
|
static String * _git_get_base(char const * filename)
|
||||||
{
|
{
|
||||||
char * base = strdup(filename);
|
String * base;
|
||||||
char * dir = base;
|
String * dir;
|
||||||
String * p;
|
String * p;
|
||||||
struct stat st;
|
struct stat st;
|
||||||
int res;
|
int res;
|
||||||
|
@ -384,28 +385,43 @@ static gboolean _git_is_managed(char const * filename)
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
fprintf(stderr, "DEBUG: %s(\"%s\")\n", __func__, filename);
|
fprintf(stderr, "DEBUG: %s(\"%s\")\n", __func__, filename);
|
||||||
#endif
|
#endif
|
||||||
for(; strcmp(dir, ".") != 0; dir = dirname(dir))
|
base = string_new(filename);
|
||||||
|
dir = base;
|
||||||
|
for(; string_compare(dir, ".") != 0; dir = dirname(dir))
|
||||||
{
|
{
|
||||||
if((p = string_new_append(dir, "/.git", NULL)) == NULL)
|
if((p = string_new_append(dir, "/.git", NULL)) == NULL)
|
||||||
{
|
{
|
||||||
free(base);
|
string_delete(base);
|
||||||
return FALSE;
|
return NULL;
|
||||||
}
|
}
|
||||||
res = lstat(p, &st);
|
res = lstat(p, &st);
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
fprintf(stderr, "DEBUG: %s() \"%s\" %d\n", __func__, p, res);
|
fprintf(stderr, "DEBUG: %s() \"%s\" %d\n", __func__, p, res);
|
||||||
#endif
|
#endif
|
||||||
string_delete(p);
|
|
||||||
if(res == 0)
|
if(res == 0)
|
||||||
{
|
{
|
||||||
/* FIXME really implement */
|
string_delete(base);
|
||||||
free(base);
|
return p;
|
||||||
return TRUE;
|
|
||||||
}
|
}
|
||||||
if(strcmp(dir, "/") == 0)
|
if(string_compare(dir, "/") == 0)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
free(base);
|
string_delete(base);
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* git_is_managed */
|
||||||
|
static gboolean _git_is_managed(char const * filename)
|
||||||
|
{
|
||||||
|
String * base;
|
||||||
|
|
||||||
|
if((base = _git_get_base(filename)) != NULL)
|
||||||
|
{
|
||||||
|
/* FIXME really implement */
|
||||||
|
string_delete(base);
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user