On 2 July 2014 00:11, David Sterba <dsterba@xxxxxxx> wrote:
> On Mon, Jun 30, 2014 at 11:54:11AM +0800, Gui Hecheng wrote:
>> To let the independent tools(e.g. btrfs-image, btrfs-convert, etc.)
>> share the convenience of check_argc_* functions, just move it into
>> utils.c.
>> Also add a new function "set_argv0" to set the correct tool name:
>> *btrfs-image*: too few arguments
>>
>> The original btrfs* tools work as before.
>
> Good cleanup, but I don't like to see the utils.c pull the commands.h,
> the argv0 or argument helpers are selfcontained, so the relevant
> definitions shloud be moved to utils.h .
>
> Moved ARGV0_BUF_SIZE -> utils.h
> Removed check_argc_* protoypes from command.h
>
> Trivial changes, I made them myself, no need to resend the patch.
>
> The diff:
> --- a/commands.h
> +++ b/commands.h
> @@ -14,8 +14,6 @@
> * Boston, MA 021110-1307, USA.
> */
>
> -#define ARGV0_BUF_SIZE 64
> -
> struct cmd_struct {
> const char *token;
> int (*fn)(int, char **);
> @@ -62,10 +60,6 @@ struct cmd_group {
> /* btrfs.c */
> int prefixcmp(const char *str, const char *prefix);
>
> -int check_argc_exact(int nargs, int expected);
> -int check_argc_min(int nargs, int expected);
> -int check_argc_max(int nargs, int expected);
> -
> int handle_command_group(const struct cmd_group *grp, int argc,
> char **argv);
>
> diff --git a/utils.h b/utils.h
> index 20e5a2200052..e29ab936cd81 100644
> --- a/utils.h
> +++ b/utils.h
> @@ -39,6 +39,8 @@
>
> #define BTRFS_UUID_UNPARSED_SIZE 37
>
> +#define ARGV0_BUF_SIZE 64
> +
> int check_argc_exact(int nargs, int expected);
> int check_argc_min(int nargs, int expected);
> int check_argc_max(int nargs, int expected);
> ---
> --
> To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at http://vger.kernel.org/majordomo-info.html
Hi David,
I'm getting a build failure in integration-20140701 in regard to these changes:
---------
[CC] help.o
help.c:23:23: error: 'ARGV0_BUF_SIZE' undeclared here (not in a function)
static char argv0_buf[ARGV0_BUF_SIZE];
^
help.c:23:13: warning: 'argv0_buf' defined but not used [-Wunused-variable]
static char argv0_buf[ARGV0_BUF_SIZE];
^
Makefile:114: recipe for target 'help.o' failed
make: *** [help.o] Error 1
---------
Looks like help.c just need to include utils.h now too. I tested with
the following patch, and it builds again.
--- a/help.c 2014-07-02 01:14:02.365340224 +0100
+++ b/help.c 2014-07-02 01:13:49.995276342 +0100
@@ -19,6 +19,7 @@
#include <string.h>
#include "commands.h"
+#include "utils.h"
static char argv0_buf[ARGV0_BUF_SIZE];
Cheers,
WorMzy
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html