git/odb/source.c

39 lines
789 B
C

#include "git-compat-util.h"
#include "object-file.h"
#include "odb/source-files.h"
#include "odb/source.h"
#include "packfile.h"
struct odb_source *odb_source_new(struct object_database *odb,
const char *path,
bool local)
{
return &odb_source_files_new(odb, path, local)->base;
}
void odb_source_init(struct odb_source *source,
struct object_database *odb,
const char *path,
bool local)
{
source->odb = odb;
source->local = local;
source->path = xstrdup(path);
}
void odb_source_free(struct odb_source *source)
{
struct odb_source_files *files;
if (!source)
return;
files = odb_source_files_downcast(source);
odb_source_files_free(files);
}
void odb_source_release(struct odb_source *source)
{
if (!source)
return;
free(source->path);
}