提交 7b033e1f 编写于 作者: J Jeff Dike 提交者: Linus Torvalds

[PATCH] uml: add mconsole_reply variant with length param

This is needed for the console output patch, since we have a possibly
non-NULL-terminated string there.  So, the new interface takes a string and a
length, and the old interface calls strlen on its string and calls the new
interface with the length.

There's also a bit of whitespace cleanup.
Signed-off-by: NJeff Dike <jdike@addtoit.com>
Cc: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Signed-off-by: NAndrew Morton <akpm@osdl.org>
Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
上级 44700a44
...@@ -122,12 +122,12 @@ int mconsole_get_request(int fd, struct mc_request *req) ...@@ -122,12 +122,12 @@ int mconsole_get_request(int fd, struct mc_request *req)
return(1); return(1);
} }
int mconsole_reply(struct mc_request *req, char *str, int err, int more) int mconsole_reply_len(struct mc_request *req, const char *str, int total,
int err, int more)
{ {
struct mconsole_reply reply; struct mconsole_reply reply;
int total, len, n; int len, n;
total = strlen(str);
do { do {
reply.err = err; reply.err = err;
...@@ -155,6 +155,12 @@ int mconsole_reply(struct mc_request *req, char *str, int err, int more) ...@@ -155,6 +155,12 @@ int mconsole_reply(struct mc_request *req, char *str, int err, int more)
return(0); return(0);
} }
int mconsole_reply(struct mc_request *req, const char *str, int err, int more)
{
return mconsole_reply_len(req, str, strlen(str), err, more);
}
int mconsole_unlink_socket(void) int mconsole_unlink_socket(void)
{ {
unlink(mconsole_socket_name); unlink(mconsole_socket_name);
......
...@@ -32,7 +32,7 @@ struct mconsole_reply { ...@@ -32,7 +32,7 @@ struct mconsole_reply {
struct mconsole_notify { struct mconsole_notify {
u32 magic; u32 magic;
u32 version; u32 version;
enum { MCONSOLE_SOCKET, MCONSOLE_PANIC, MCONSOLE_HANG, enum { MCONSOLE_SOCKET, MCONSOLE_PANIC, MCONSOLE_HANG,
MCONSOLE_USER_NOTIFY } type; MCONSOLE_USER_NOTIFY } type;
u32 len; u32 len;
...@@ -66,7 +66,9 @@ struct mc_request ...@@ -66,7 +66,9 @@ struct mc_request
extern char mconsole_socket_name[]; extern char mconsole_socket_name[];
extern int mconsole_unlink_socket(void); extern int mconsole_unlink_socket(void);
extern int mconsole_reply(struct mc_request *req, char *reply, int err, extern int mconsole_reply_len(struct mc_request *req, const char *reply,
int len, int err, int more);
extern int mconsole_reply(struct mc_request *req, const char *str, int err,
int more); int more);
extern void mconsole_version(struct mc_request *req); extern void mconsole_version(struct mc_request *req);
...@@ -84,7 +86,7 @@ extern void mconsole_proc(struct mc_request *req); ...@@ -84,7 +86,7 @@ extern void mconsole_proc(struct mc_request *req);
extern void mconsole_stack(struct mc_request *req); extern void mconsole_stack(struct mc_request *req);
extern int mconsole_get_request(int fd, struct mc_request *req); extern int mconsole_get_request(int fd, struct mc_request *req);
extern int mconsole_notify(char *sock_name, int type, const void *data, extern int mconsole_notify(char *sock_name, int type, const void *data,
int len); int len);
extern char *mconsole_notify_socket(void); extern char *mconsole_notify_socket(void);
extern void lock_notify(void); extern void lock_notify(void);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册