Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
U
unique-xids
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
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
unique-xids
Commits
66b32cbe
Commit
66b32cbe
authored
Feb 11, 2013
by
Poul-Henning Kamp
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
prefix the vmod-obj struct with the vmod name, they are in global
namespace for vmod.
parent
d5bd9b87
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
25 additions
and
18 deletions
+25
-18
vmodtool.py
lib/libvcl/vmodtool.py
+16
-9
vmod_debug_obj.c
lib/libvmod_debug/vmod_debug_obj.c
+9
-9
No files found.
lib/libvcl/vmodtool.py
View file @
66b32cbe
...
...
@@ -120,8 +120,9 @@ class vmod(object):
def
add_func
(
self
,
fn
):
self
.
funcs
.
append
(
fn
)
def
add_obj
(
self
,
fn
):
self
.
objs
.
append
(
fn
)
def
add_obj
(
self
,
obj
):
self
.
objs
.
append
(
obj
)
obj
.
set_modnam
(
self
.
nam
)
def
c_proto
(
self
,
fo
):
for
o
in
self
.
objs
:
...
...
@@ -307,22 +308,28 @@ class obj(object):
self
.
init_fini
=
None
self
.
methods
=
list
()
def
set_modnam
(
self
,
modnam
):
self
.
st
=
"struct vmod_"
+
modnam
+
"_"
+
self
.
nam
self
.
init_fini
.
set_pfx
(
", "
+
self
.
st
+
" **"
)
for
m
in
self
.
methods
:
m
.
set_pfx
(
", "
+
self
.
st
+
" *"
)
def
set_init_fini
(
self
,
f
):
self
.
init_fini
=
f
def
add_method
(
self
,
m
):
self
.
methods
.
append
(
m
)
def
c_typedefs
(
self
,
modnam
e
):
def
c_typedefs
(
self
,
modnam
):
l
=
list
()
l
.
append
(
"/* Object "
+
self
.
nam
+
" */"
)
l
.
append
(
self
.
init_fini
.
c_typedef
(
modnam
e
)
+
""
)
l
.
append
(
self
.
init_fini
.
c_typedef
(
modnam
)
+
""
)
for
m
in
self
.
methods
:
l
.
append
(
m
.
c_typedef
(
modnam
e
)
+
""
)
l
.
append
(
m
.
c_typedef
(
modnam
)
+
""
)
return
l
def
c_proto
(
self
,
fo
):
fo
.
write
(
"struct vmod_"
+
self
.
nam
+
";
\n
"
)
fo
.
write
(
self
.
st
+
";
\n
"
)
self
.
init_fini
.
c_proto
(
fo
)
for
m
in
o
.
methods
:
m
.
c_proto
(
fo
)
...
...
@@ -343,7 +350,9 @@ class obj(object):
def
c_strspec
(
self
,
modnam
):
s
=
"
\t
/* Object "
+
self
.
nam
+
" */
\n
"
s
+=
'
\t
"OBJ
\\
0'
+
self
.
init_fini
.
c_strspec
(
modnam
)
+
'",
\n
'
s
+=
'
\t
"OBJ
\\
0'
s
+=
self
.
st
+
'
\\
0'
s
+=
self
.
init_fini
.
c_strspec
(
modnam
)
+
'",
\n
'
for
m
in
self
.
methods
:
s
+=
'
\t
"METHOD
\\
0'
+
m
.
c_strspec
(
modnam
)
+
'",
\n
'
return
s
...
...
@@ -456,7 +465,6 @@ def parse_func(tl, rt_type = None, obj=None):
def
parse_obj
(
tl
):
o
=
obj
(
tl
[
0
]
.
str
)
f
=
parse_func
(
tl
,
"VOID"
)
f
.
set_pfx
(
", struct vmod_"
+
o
.
nam
+
" **"
)
o
.
set_init_fini
(
f
)
t
=
tl
.
pop
(
0
)
assert
t
.
str
==
"{"
...
...
@@ -466,7 +474,6 @@ def parse_obj(tl):
break
assert
t
.
str
==
"Method"
f
=
parse_func
(
tl
,
obj
=
o
.
nam
)
f
.
set_pfx
(
", struct vmod_"
+
o
.
nam
+
" *"
)
o
.
add_method
(
f
)
return
o
...
...
lib/libvmod_debug/vmod_debug_obj.c
View file @
66b32cbe
...
...
@@ -35,23 +35,23 @@
#include "vrt.h"
#include "vcc_if.h"
struct
vmod_obj
{
struct
vmod_
debug_
obj
{
unsigned
magic
;
#define VMOD_
OBJ_MAGIC
0xccbd9b77
#define VMOD_
DEBUG_OBJ_MAGIC
0xccbd9b77
int
foobar
;
};
VCL_VOID
vmod_obj
(
struct
req
*
req
,
struct
vmod_obj
**
op
,
VCL_STRING
s
)
vmod_obj
(
struct
req
*
req
,
struct
vmod_
debug_
obj
**
op
,
VCL_STRING
s
)
{
struct
vmod_obj
*
o
;
struct
vmod_
debug_
obj
*
o
;
(
void
)
req
;
(
void
)
s
;
AN
(
op
);
if
(
*
op
==
NULL
)
{
/* INIT */
ALLOC_OBJ
(
o
,
VMOD_OBJ_MAGIC
);
ALLOC_OBJ
(
o
,
VMOD_
DEBUG_
OBJ_MAGIC
);
*
op
=
o
;
o
->
foobar
=
42
;
AN
(
*
op
);
...
...
@@ -63,20 +63,20 @@ vmod_obj(struct req *req, struct vmod_obj **op, VCL_STRING s)
}
VCL_STRING
vmod_obj__foo
(
struct
req
*
req
,
struct
vmod_obj
*
o
,
VCL_STRING
s
)
vmod_obj__foo
(
struct
req
*
req
,
struct
vmod_
debug_
obj
*
o
,
VCL_STRING
s
)
{
(
void
)
req
;
(
void
)
s
;
CHECK_OBJ_NOTNULL
(
o
,
VMOD_OBJ_MAGIC
);
CHECK_OBJ_NOTNULL
(
o
,
VMOD_
DEBUG_
OBJ_MAGIC
);
assert
(
o
->
foobar
==
42
);
return
(
"BOO"
);
}
VCL_TIME
vmod_obj__date
(
struct
req
*
req
,
struct
vmod_obj
*
o
)
vmod_obj__date
(
struct
req
*
req
,
struct
vmod_
debug_
obj
*
o
)
{
(
void
)
req
;
CHECK_OBJ_NOTNULL
(
o
,
VMOD_OBJ_MAGIC
);
CHECK_OBJ_NOTNULL
(
o
,
VMOD_
DEBUG_
OBJ_MAGIC
);
assert
(
o
->
foobar
==
42
);
return
(
21
.
4
);
}
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