Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
varnishevent
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
1
Issues
1
List
Board
Labels
Milestones
Merge Requests
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
uplex-varnish
varnishevent
Commits
6ecc6a6c
Commit
6ecc6a6c
authored
Mar 30, 2015
by
Geoff Simmons
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
test format.c/get_fld()
parent
f17f7347
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
51 additions
and
6 deletions
+51
-6
format.c
src/format.c
+9
-4
format.h
src/format.h
+1
-1
test_format.c
src/test/test_format.c
+41
-1
No files found.
src/format.c
View file @
6ecc6a6c
...
...
@@ -149,17 +149,22 @@ get_hdr(tx_t *tx, enum VSL_tag_e tag, vre_t *hdr_re)
return
hdr_payload
;
}
/*
* Get the nth whitespace-separated field from str, counting from 0.
*/
char
*
get_fld
(
char
*
str
,
int
n
)
get_fld
(
c
onst
c
har
*
str
,
int
n
)
{
char
*
fld
=
NULL
,
*
s
;
char
*
fld
=
NULL
,
*
s
,
cp
[
BUFSIZ
]
;
int
i
=
0
;
s
=
str
;
AN
(
str
);
strcpy
(
cp
,
str
);
s
=
cp
;
do
{
fld
=
strtok
(
s
,
"
\t
"
);
s
=
NULL
;
}
while
(
++
i
<
n
&&
fld
!=
NULL
);
}
while
(
i
++
<
n
&&
fld
!=
NULL
);
return
fld
;
}
...
...
src/format.h
View file @
6ecc6a6c
...
...
@@ -41,6 +41,6 @@ vre_t *time_start_re;
void
get_payload
(
logline_t
*
rec
);
logline_t
*
get_tag
(
tx_t
*
tx
,
enum
VSL_tag_e
tag
);
char
*
get_hdr
(
tx_t
*
tx
,
enum
VSL_tag_e
tag
,
vre_t
*
hdr_re
);
char
*
get_fld
(
char
*
str
,
int
n
);
char
*
get_fld
(
c
onst
c
har
*
str
,
int
n
);
char
*
get_rec_fld
(
logline_t
*
rec
,
int
n
);
double
get_tm
(
tx_t
*
tx
);
src/test/test_format.c
View file @
6ecc6a6c
...
...
@@ -38,6 +38,7 @@
#include "../format.h"
#define NRECORDS 10
#define SHORT_STRING "foo bar baz quux"
int
tests_run
=
0
;
...
...
@@ -79,7 +80,6 @@ static const char
MAN
(
chunk
.
data
);
/* Record with one chunk */
#define SHORT_STRING "foo bar baz quux"
rec
.
len
=
strlen
(
SHORT_STRING
);
sprintf
(
chunk
.
data
,
"%s"
,
SHORT_STRING
);
VSTAILQ_INSERT_TAIL
(
&
rec
.
chunks
,
&
chunk
,
chunklist
);
...
...
@@ -206,6 +206,45 @@ static const char
return
NULL
;
}
static
const
char
*
test_format_get_fld
(
void
)
{
char
*
fld
,
str
[
sizeof
(
SHORT_STRING
)];
printf
(
"... testing get_fld()
\n
"
);
strcpy
(
str
,
SHORT_STRING
);
fld
=
get_fld
(
str
,
0
);
MAN
(
fld
);
MASSERT
(
strcmp
(
fld
,
"foo"
)
==
0
);
fld
=
get_fld
(
str
,
1
);
MAN
(
fld
);
MASSERT
(
strcmp
(
fld
,
"bar"
)
==
0
);
fld
=
get_fld
(
str
,
2
);
MAN
(
fld
);
MASSERT
(
strcmp
(
fld
,
"baz"
)
==
0
);
fld
=
get_fld
(
str
,
3
);
MAN
(
fld
);
MASSERT
(
strcmp
(
fld
,
"quux"
)
==
0
);
fld
=
get_fld
(
str
,
4
);
MAZ
(
fld
);
strcpy
(
str
,
" "
);
fld
=
get_fld
(
str
,
0
);
MAZ
(
fld
);
fld
=
get_fld
(
str
,
1
);
MAZ
(
fld
);
fld
=
get_fld
(
str
,
2
);
MAZ
(
fld
);
return
NULL
;
}
static
const
char
*
all_tests
(
void
)
{
...
...
@@ -213,6 +252,7 @@ static const char
mu_run_test
(
test_format_get_payload
);
mu_run_test
(
test_format_get_tag
);
mu_run_test
(
test_format_get_hdr
);
mu_run_test
(
test_format_get_fld
);
return
NULL
;
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment