Commit 5d4cd003 by Carlos Martín Nieto

Move the struct declaration outside config.c

Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
parent a3002d56
......@@ -52,5 +52,6 @@
#include "git2/tree.h"
#include "git2/index.h"
#include "git2/config.h"
#endif
/*
* This file is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License, version 2,
* as published by the Free Software Foundation.
*
* In addition to the permissions in the GNU General Public License,
* the authors give you unlimited permission to link the compiled
* version of this file into combinations with other programs,
* and to distribute those combinations without any restriction
* coming from the use of this file. (The General Public License
* restrictions do apply in other respects; for example, they cover
* modification of the file, and distribution when not linked into
* a combined executable.)
*
* This file is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; see the file COPYING. If not, write to
* the Free Software Foundation, 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301, USA.
*/
#ifndef INCLUDE_git_config_h__
#define INCLUDE_git_config_h__
#include "common.h"
/**
* @file git2/refs.h
* @brief Git config management routines
* @defgroup git_reference Git config management routines
* @ingroup Git
* @{
*/
GIT_BEGIN_DECL
/**
* Open a configuration file
*
* @param cfg_out pointer to the configuration data
*/
GIT_EXTERN(int) git_config_open(git_config **cfg_out, const char *path);
/**
* Free the configuration and its associated memory
*/
GIT_EXTERN(void) git_config_free(git_config *cfg);
/** @} */
GIT_END_DECL
#endif
......@@ -122,6 +122,12 @@ typedef struct git_tree git_tree;
/** Memory representation of an index file. */
typedef struct git_index git_index;
/** Memory representation of a config file */
typedef struct git_config git_config;
/** Memory representation of a config variable */
typedef struct git_config_var git_config_var;
/** Time in a signature */
typedef struct git_time {
time_t time; /** time in seconds from epoch */
......
......@@ -28,36 +28,7 @@
#include "hashtable.h"
#include "config.h"
struct git_config {
char *file_path;
struct {
gitfo_buf buffer;
char *read_ptr;
int line_number;
int eof;
} reader;
git_hashtable *vars;
};
typedef enum {
GIT_VAR_INT,
GIT_VAR_BOOL,
GIT_VAR_STR
} git_config_type;
struct git_config_var {
git_config_type type;
char *name;
union {
unsigned char boolean;
long integer;
char *string;
} value;
};
typedef struct git_config git_config;
#include <ctype.h>
uint32_t config_table_hash(const void *key)
......
#ifndef INCLUDE_tag_h__
#define INCLUDE_tag_h__
struct git_config {
char *file_path;
struct {
gitfo_buf buffer;
char *read_ptr;
int line_number;
int eof;
} reader;
git_hashtable *vars;
};
typedef enum {
GIT_VAR_INT,
GIT_VAR_BOOL,
GIT_VAR_STR
} git_config_type;
struct git_config_var {
git_config_type type;
char *name;
union {
unsigned char boolean;
long integer;
char *string;
} value;
};
#endif
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment