Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
ruanhaishen
redis
Commits
cc58f11c
Commit
cc58f11c
authored
Jun 05, 2016
by
Yossi Gottlieb
Browse files
Use RedisModuleString for OnLoad argv.
parent
2bd13cf0
Changes
3
Hide whitespace changes
Inline
Side-by-side
src/config.c
View file @
cc58f11c
...
@@ -155,13 +155,13 @@ void resetServerSaveParams(void) {
...
@@ -155,13 +155,13 @@ void resetServerSaveParams(void) {
void
queueLoadModule
(
sds
path
,
sds
*
argv
,
int
argc
)
void
queueLoadModule
(
sds
path
,
sds
*
argv
,
int
argc
)
{
{
struct
loadmodule
*
loadmod
=
zmalloc
(
sizeof
(
struct
loadmodule
)
+
sizeof
(
sds
)
*
argc
);
struct
loadmodule
*
loadmod
=
zmalloc
(
sizeof
(
struct
loadmodule
)
+
sizeof
(
robj
*
)
*
argc
);
int
i
;
int
i
;
loadmod
->
path
=
sdsnew
(
path
);
loadmod
->
path
=
sdsnew
(
path
);
loadmod
->
argc
=
argc
;
loadmod
->
argc
=
argc
;
for
(
i
=
0
;
i
<
argc
;
i
++
)
{
for
(
i
=
0
;
i
<
argc
;
i
++
)
{
loadmod
->
argv
[
i
]
=
sdsnew
(
argv
[
i
]);
loadmod
->
argv
[
i
]
=
createStringObject
(
argv
[
i
],
sdslen
(
argv
[
i
])
)
;
}
}
listAddNodeTail
(
server
.
loadmodule_queue
,
loadmod
);
listAddNodeTail
(
server
.
loadmodule_queue
,
loadmod
);
}
}
...
...
src/module.c
View file @
cc58f11c
...
@@ -3011,16 +3011,12 @@ void moduleCommand(client *c) {
...
@@ -3011,16 +3011,12 @@ void moduleCommand(client *c) {
char
*
subcmd
=
c
->
argv
[
1
]
->
ptr
;
char
*
subcmd
=
c
->
argv
[
1
]
->
ptr
;
if
(
!
strcasecmp
(
subcmd
,
"load"
)
&&
c
->
argc
>=
3
)
{
if
(
!
strcasecmp
(
subcmd
,
"load"
)
&&
c
->
argc
>=
3
)
{
sds
*
argv
=
NULL
;
robj
*
*
argv
=
NULL
;
int
argc
=
0
;
int
argc
=
0
;
int
i
;
if
(
c
->
argc
>
3
)
{
if
(
c
->
argc
>
3
)
{
argc
=
c
->
argc
-
3
;
argc
=
c
->
argc
-
3
;
argv
=
zmalloc
(
sizeof
(
sds
)
*
argc
);
argv
=
&
c
->
argv
[
3
];
for
(
i
=
0
;
i
<
argc
;
i
++
)
{
argv
[
i
]
=
(
sds
)
c
->
argv
[
i
+
3
]
->
ptr
;
}
}
}
if
(
moduleLoad
(
c
->
argv
[
2
]
->
ptr
,(
void
**
)
argv
,
argc
)
==
C_OK
)
if
(
moduleLoad
(
c
->
argv
[
2
]
->
ptr
,(
void
**
)
argv
,
argc
)
==
C_OK
)
...
@@ -3028,8 +3024,6 @@ void moduleCommand(client *c) {
...
@@ -3028,8 +3024,6 @@ void moduleCommand(client *c) {
else
else
addReplyError
(
c
,
addReplyError
(
c
,
"Error loading the extension. Please check the server logs."
);
"Error loading the extension. Please check the server logs."
);
if
(
argv
)
zfree
(
argv
);
}
else
if
(
!
strcasecmp
(
subcmd
,
"unload"
)
&&
c
->
argc
==
3
)
{
}
else
if
(
!
strcasecmp
(
subcmd
,
"unload"
)
&&
c
->
argc
==
3
)
{
if
(
moduleUnload
(
c
->
argv
[
2
]
->
ptr
)
==
C_OK
)
if
(
moduleUnload
(
c
->
argv
[
2
]
->
ptr
)
==
C_OK
)
addReply
(
c
,
shared
.
ok
);
addReply
(
c
,
shared
.
ok
);
...
...
src/server.h
View file @
cc58f11c
...
@@ -686,7 +686,7 @@ struct saveparam {
...
@@ -686,7 +686,7 @@ struct saveparam {
struct
loadmodule
{
struct
loadmodule
{
sds
path
;
sds
path
;
int
argc
;
int
argc
;
sds
argv
[];
robj
*
argv
[];
};
};
struct
sharedObjectsStruct
{
struct
sharedObjectsStruct
{
...
...
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