[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: Jeff Dike <jdike@addtoit.com>
Cc: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
Jeff Dike 2006-01-06 00:19:03 -08:00 committed by Linus Torvalds
parent 44700a4469
commit 7b033e1fde
2 changed files with 14 additions and 6 deletions

View File

@ -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)
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);

View File

@ -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
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);
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);