git.annexia.org
/
libguestfs.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix daemon.h's use of NEED_ROOT-in-#define
[libguestfs.git]
/
daemon
/
daemon.h
diff --git
a/daemon/daemon.h
b/daemon/daemon.h
index
70a2351
..
cbcab63
100644
(file)
--- a/
daemon/daemon.h
+++ b/
daemon/daemon.h
@@
-124,11
+124,11
@@
extern void reply (xdrproc_t xdrp, char *ret);
/* Helper for functions that need a root filesystem mounted.
* NB. Cannot be used for FileIn functions.
*/
/* Helper for functions that need a root filesystem mounted.
* NB. Cannot be used for FileIn functions.
*/
-#define NEED_ROOT(
errcode)
\
+#define NEED_ROOT(
fail_stmt)
\
do { \
if (!root_mounted) { \
reply_with_error ("%s: you must call 'mount' first to mount the root filesystem", __func__); \
do { \
if (!root_mounted) { \
reply_with_error ("%s: you must call 'mount' first to mount the root filesystem", __func__); \
-
return (errcode);
\
+
fail_stmt;
\
} \
} \
while (0)
} \
} \
while (0)
@@
-136,11
+136,11
@@
extern void reply (xdrproc_t xdrp, char *ret);
/* Helper for functions that need an argument ("path") that is absolute.
* NB. Cannot be used for FileIn functions.
*/
/* Helper for functions that need an argument ("path") that is absolute.
* NB. Cannot be used for FileIn functions.
*/
-#define ABS_PATH(path,
errcode)
\
+#define ABS_PATH(path,
fail_stmt)
\
do { \
if ((path)[0] != '/') { \
reply_with_error ("%s: path must start with a / character", __func__); \
do { \
if ((path)[0] != '/') { \
reply_with_error ("%s: path must start with a / character", __func__); \
-
return (errcode);
\
+
fail_stmt;
\
} \
} while (0)
} \
} while (0)
@@
-151,14
+151,14
@@
extern void reply (xdrproc_t xdrp, char *ret);
*
* NB. Cannot be used for FileIn functions.
*/
*
* NB. Cannot be used for FileIn functions.
*/
-#define
IS_DEVICE(path,errcode)
\
+#define
RESOLVE_DEVICE(path,fail_stmt)
\
do { \
if (strncmp ((path), "/dev/", 5) != 0) { \
reply_with_error ("%s: %s: expecting a device name", __func__, (path)); \
do { \
if (strncmp ((path), "/dev/", 5) != 0) { \
reply_with_error ("%s: %s: expecting a device name", __func__, (path)); \
-
return (errcode);
\
+
fail_stmt;
\
} \
if (device_name_translation ((path), __func__) == -1) \
} \
if (device_name_translation ((path), __func__) == -1) \
-
return (errcode);
\
+
fail_stmt;
\
} while (0)
/* Helper for functions which need either an absolute path in the
} while (0)
/* Helper for functions which need either an absolute path in the
@@
-171,13
+171,13
@@
extern void reply (xdrproc_t xdrp, char *ret);
* because we intend in future to make device parameters a distinct
* type from filenames.
*/
* because we intend in future to make device parameters a distinct
* type from filenames.
*/
-#define
NEED_ROOT_OR_IS_DEVICE(path,errcode)
\
+#define
REQUIRE_ROOT_OR_RESOLVE_DEVICE(path,fail_stmt)
\
do { \
if (strncmp ((path), "/dev/", 5) == 0) \
do { \
if (strncmp ((path), "/dev/", 5) == 0) \
-
IS_DEVICE ((path),(errcode));
\
+
RESOLVE_DEVICE ((path), fail_stmt);
\
else { \
else { \
- NEED_ROOT (
(errcode)
); \
- ABS_PATH ((path),
(errcode)
); \
+ NEED_ROOT (
fail_stmt
); \
+ ABS_PATH ((path),
fail_stmt
); \
} \
} while (0)
} \
} while (0)
@@
-213,4
+213,14
@@
extern void reply (xdrproc_t xdrp, char *ret);
} \
while (0)
} \
while (0)
+#ifndef __attribute__
+# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
+# define __attribute__(x) /* empty */
+# endif
+#endif
+
+#ifndef ATTRIBUTE_UNUSED
+# define ATTRIBUTE_UNUSED __attribute__ ((__unused__))
+#endif
+
#endif /* GUESTFSD_DAEMON_H */
#endif /* GUESTFSD_DAEMON_H */