Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 20 Nov 2006 01:31:01 +0100
From:      "Attilio Rao" <attilio@freebsd.org>
To:        mjacob@freebsd.org
Cc:        freebsd-scsi@freebsd.org
Subject:   Re: a code reduction function addition to cam_xpt
Message-ID:  <3bbf2fe10611191631h6883b862uf8088533913a7bc6@mail.gmail.com>
In-Reply-To: <20061119161631.L44297@ns1.feral.com>
References:  <20061119161631.L44297@ns1.feral.com>

next in thread | previous in thread | raw e-mail | index | archive | help
2006/11/20, mjacob@freebsd.org <mjacob@freebsd.org>:
> There are *far* too many:
>
>         xpt_print_path(path);
>         printf("foo\n");
>
> constructs. How about we just join them?
>
> ==== //depot/projects/newisp/cam/cam_xpt.c#12 - /home/FreeBSD/p4/newisp/cam/cam_xpt.c ====
> @@ -63,6 +63,7 @@
>   #include <cam/scsi/scsi_all.h>
>   #include <cam/scsi/scsi_message.h>
>   #include <cam/scsi/scsi_pass.h>
> +#include <machine/stdarg.h>    /* for xpt_print below */
>   #include "opt_cam.h"
>
>   /* Datastructures internal to the xpt layer */
> @@ -4160,6 +4161,16 @@
>         }
>   }
>
> +void
> +xpt_print(struct cam_path *path, const char *fmt, ...)
> +{
> +       va_list ap;
> +       xpt_print_path(path);
> +       va_start(ap, fmt);
> +       vprintf(fmt, ap);
> +       va_end(ap);
> +}
> +
> ==== //depot/projects/newisp/cam/cam_xpt.h#1 - /home/FreeBSD/p4/newisp/cam/cam_xpt.h ====
> @@ -62,6 +62,7 @@
>   int                   xpt_path_comp(struct cam_path *path1,
>                                       struct cam_path *path2);
>   void                  xpt_print_path(struct cam_path *path);
> +void                   xpt_print(struct cam_path *path, const char *fmt, ...);
>   int                   xpt_path_string(struct cam_path *path, char *str,
>                                         size_t str_len);
>   path_id_t             xpt_path_path_id(struct cam_path *path);

Would not be better a preprocessing stub?

something like:

#define XPT_PRINT(path, fmt, ...) do {
            \
              xpt_print_path(path);
                      \
              printf(fmt, __VA_ARGS__);
                  \
} while (0)


-- 
Peace can only be achieved by understanding - A. Einstein



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3bbf2fe10611191631h6883b862uf8088533913a7bc6>