mirror of
https://git.proxmox.com/git/libgit2
synced 2025-05-28 08:58:41 +00:00
Move the struct declaration outside config.c
Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
This commit is contained in:
parent
a3002d5694
commit
5d4cd00305
@ -52,5 +52,6 @@
|
||||
#include "git2/tree.h"
|
||||
|
||||
#include "git2/index.h"
|
||||
#include "git2/config.h"
|
||||
|
||||
#endif
|
||||
|
53
include/git2/config.h
Normal file
53
include/git2/config.h
Normal file
@ -0,0 +1,53 @@
|
||||
/*
|
||||
* 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 */
|
||||
|
31
src/config.c
31
src/config.c
@ -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)
|
||||
|
33
src/config.h
Normal file
33
src/config.h
Normal file
@ -0,0 +1,33 @@
|
||||
#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
|
Loading…
Reference in New Issue
Block a user