mirror of
https://git.proxmox.com/git/libgit2
synced 2025-05-21 08:24:34 +00:00

This is a major reorganization of the diff code. This changes the diff functions to use the iterators for traversing the content. This allowed a lot of code to be simplified. Also, this moved the functions relating to outputting a diff into a new file (diff_output.c). This includes a number of other changes - adding utility functions, extending iterators, etc. plus more tests for the diff code. This also takes the example diff.c program much further in terms of emulating git-diff command line options.
43 lines
1023 B
C
43 lines
1023 B
C
/*
|
|
* Copyright (C) 2009-2012 the libgit2 contributors
|
|
*
|
|
* This file is part of libgit2, distributed under the GNU GPL v2 with
|
|
* a Linking Exception. For full terms see the included COPYING file.
|
|
*/
|
|
#ifndef INCLUDE_dir_h__
|
|
#define INCLUDE_dir_h__
|
|
|
|
#include "common.h"
|
|
|
|
struct git__dirent {
|
|
int d_ino;
|
|
char d_name[261];
|
|
};
|
|
|
|
typedef struct {
|
|
HANDLE h;
|
|
WIN32_FIND_DATAW f;
|
|
struct git__dirent entry;
|
|
char *dir;
|
|
int first;
|
|
} git__DIR;
|
|
|
|
extern git__DIR *git__opendir(const char *);
|
|
extern struct git__dirent *git__readdir(git__DIR *);
|
|
extern int git__readdir_ext(
|
|
git__DIR *, struct git__dirent *, struct git__dirent **, int *);
|
|
extern void git__rewinddir(git__DIR *);
|
|
extern int git__closedir(git__DIR *);
|
|
|
|
# ifndef GIT__WIN32_NO_WRAP_DIR
|
|
# define dirent git__dirent
|
|
# define DIR git__DIR
|
|
# define opendir git__opendir
|
|
# define readdir git__readdir
|
|
# define readdir_r(d,e,r) git__readdir_ext((d),(e),(r),NULL)
|
|
# define rewinddir git__rewinddir
|
|
# define closedir git__closedir
|
|
# endif
|
|
|
|
#endif /* INCLUDE_dir_h__ */
|