aboutsummaryrefslogtreecommitdiff
path: root/vcs-svn/line_buffer.h
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2011-04-15 13:25:50 -0700
committerJunio C Hamano <gitster@pobox.com>2011-04-15 13:27:04 -0700
commited44fd045a8a4bcf7f30a47e4fc6aba761faaf78 (patch)
treeccc8afe7eb85ec89347047f8e3fb5ff7f4c2f6a6 /vcs-svn/line_buffer.h
parente0d48279d5a96bc02edac72c1d28fc38aed37c15 (diff)
parent4d8b32a2e1758236c4c1b714f179892e3bce982c (diff)
downloadgit-ed44fd045a8a4bcf7f30a47e4fc6aba761faaf78.tar.gz
git-ed44fd045a8a4bcf7f30a47e4fc6aba761faaf78.tar.xz
Merge v1.7.5-rc2 into jn/format-patch-doc
This is to sync with the recent updates in Documentation/SubmittingPatches and Documentation/format-patch.txt
Diffstat (limited to 'vcs-svn/line_buffer.h')
-rw-r--r--vcs-svn/line_buffer.h33
1 files changed, 26 insertions, 7 deletions
diff --git a/vcs-svn/line_buffer.h b/vcs-svn/line_buffer.h
index 9c78ae11a..d0b22dda7 100644
--- a/vcs-svn/line_buffer.h
+++ b/vcs-svn/line_buffer.h
@@ -1,12 +1,31 @@
#ifndef LINE_BUFFER_H_
#define LINE_BUFFER_H_
-int buffer_init(const char *filename);
-int buffer_deinit(void);
-char *buffer_read_line(void);
-char *buffer_read_string(uint32_t len);
-void buffer_copy_bytes(uint32_t len);
-void buffer_skip_bytes(uint32_t len);
-void buffer_reset(void);
+#include "strbuf.h"
+
+#define LINE_BUFFER_LEN 10000
+
+struct line_buffer {
+ char line_buffer[LINE_BUFFER_LEN];
+ FILE *infile;
+};
+#define LINE_BUFFER_INIT { "", NULL }
+
+int buffer_init(struct line_buffer *buf, const char *filename);
+int buffer_fdinit(struct line_buffer *buf, int fd);
+int buffer_deinit(struct line_buffer *buf);
+void buffer_reset(struct line_buffer *buf);
+
+int buffer_tmpfile_init(struct line_buffer *buf);
+FILE *buffer_tmpfile_rewind(struct line_buffer *buf); /* prepare to write. */
+long buffer_tmpfile_prepare_to_read(struct line_buffer *buf);
+
+int buffer_ferror(struct line_buffer *buf);
+char *buffer_read_line(struct line_buffer *buf);
+int buffer_read_char(struct line_buffer *buf);
+void buffer_read_binary(struct line_buffer *buf, struct strbuf *sb, uint32_t len);
+/* Returns number of bytes read (not necessarily written). */
+off_t buffer_copy_bytes(struct line_buffer *buf, off_t len);
+off_t buffer_skip_bytes(struct line_buffer *buf, off_t len);
#endif