summaryrefslogtreecommitdiffabout
path: root/config.c
authorLars Hjemli <hjemli@gmail.com>2006-12-10 21:41:14 (UTC)
committer Lars Hjemli <hjemli@gmail.com>2006-12-10 21:41:14 (UTC)
commit7640d90b73c01b16bb04ce4c541f52cbaae5f82a (patch) (unidiff)
treea0ec3e5222dbb0cff965487def39f5781e5cb231 /config.c
parent25105d7ecaba474d4b7c364ebb586aac3dfc5abb (diff)
downloadcgit-7640d90b73c01b16bb04ce4c541f52cbaae5f82a.zip
cgit-7640d90b73c01b16bb04ce4c541f52cbaae5f82a.tar.gz
cgit-7640d90b73c01b16bb04ce4c541f52cbaae5f82a.tar.bz2
Add license file and copyright notices
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
Diffstat (limited to 'config.c') (more/less context) (ignore whitespace changes)
-rw-r--r--config.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/config.c b/config.c
index ee49b62..871edf2 100644
--- a/config.c
+++ b/config.c
@@ -1,32 +1,40 @@
1/* config.c: parsing of config files
2 *
3 * Copyright (C) 2006 Lars Hjemli
4 *
5 * Licensed under GNU General Public License v2
6 * (see COPYING for full license text)
7 */
8
1#include "cgit.h" 9#include "cgit.h"
2 10
3int next_char(FILE *f) 11int next_char(FILE *f)
4{ 12{
5 int c = fgetc(f); 13 int c = fgetc(f);
6 if (c=='\r') { 14 if (c=='\r') {
7 c = fgetc(f); 15 c = fgetc(f);
8 if (c!='\n') { 16 if (c!='\n') {
9 ungetc(c, f); 17 ungetc(c, f);
10 c = '\r'; 18 c = '\r';
11 } 19 }
12 } 20 }
13 return c; 21 return c;
14} 22}
15 23
16void skip_line(FILE *f) 24void skip_line(FILE *f)
17{ 25{
18 int c; 26 int c;
19 27
20 while((c=next_char(f)) && c!='\n' && c!=EOF) 28 while((c=next_char(f)) && c!='\n' && c!=EOF)
21 ; 29 ;
22} 30}
23 31
24int read_config_line(FILE *f, char *line, const char **value, int bufsize) 32int read_config_line(FILE *f, char *line, const char **value, int bufsize)
25{ 33{
26 int i = 0, isname = 0; 34 int i = 0, isname = 0;
27 35
28 *value = NULL; 36 *value = NULL;
29 while(i<bufsize-1) { 37 while(i<bufsize-1) {
30 int c = next_char(f); 38 int c = next_char(f);
31 if (!isname && (c=='#' || c==';')) { 39 if (!isname && (c=='#' || c==';')) {
32 skip_line(f); 40 skip_line(f);