[Midnightbsd-cvs] src: geom/misc: Merge changes.
laffer1 at midnightbsd.org
laffer1 at midnightbsd.org
Fri Nov 21 16:04:53 EST 2008
Log Message:
-----------
Merge changes.
Modified Files:
--------------
src/sbin/geom/misc:
subr.c (r1.2 -> r1.3)
subr.h (r1.2 -> r1.3)
-------------- next part --------------
Index: subr.h
===================================================================
RCS file: /home/cvs/src/sbin/geom/misc/subr.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -L sbin/geom/misc/subr.h -L sbin/geom/misc/subr.h -u -r1.2 -r1.3
--- sbin/geom/misc/subr.h
+++ sbin/geom/misc/subr.h
@@ -23,7 +23,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $FreeBSD: src/sbin/geom/misc/subr.h,v 1.3.8.3 2006/04/05 22:20:43 pjd Exp $
+ * $FreeBSD: src/sbin/geom/misc/subr.h,v 1.8 2007/01/25 11:35:27 pjd Exp $
*/
#ifndef _SUBR_H_
@@ -41,8 +41,10 @@
int g_metadata_store(const char *name, u_char *md, size_t size);
int g_metadata_clear(const char *name, const char *magic);
-void gctl_error(struct gctl_req *req, const char *error, ...);
-int gctl_get_int(struct gctl_req *req, const char *pfmt, ...);
-intmax_t gctl_get_intmax(struct gctl_req *req, const char *pfmt, ...);
-const char *gctl_get_ascii(struct gctl_req *req, const char *pfmt, ...);
+void gctl_error(struct gctl_req *req, const char *error, ...) __printflike(2, 3);
+int gctl_get_int(struct gctl_req *req, const char *pfmt, ...) __printflike(2, 3);
+intmax_t gctl_get_intmax(struct gctl_req *req, const char *pfmt, ...) __printflike(2, 3);
+const char *gctl_get_ascii(struct gctl_req *req, const char *pfmt, ...) __printflike(2, 3);
+int gctl_change_param(struct gctl_req *req, const char *name, int len,
+ const void *value);
#endif /* !_SUBR_H_ */
Index: subr.c
===================================================================
RCS file: /home/cvs/src/sbin/geom/misc/subr.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -L sbin/geom/misc/subr.c -L sbin/geom/misc/subr.c -u -r1.2 -r1.3
--- sbin/geom/misc/subr.c
+++ sbin/geom/misc/subr.c
@@ -25,7 +25,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sbin/geom/misc/subr.c,v 1.3.8.3 2006/04/05 22:20:43 pjd Exp $");
+__FBSDID("$FreeBSD: src/sbin/geom/misc/subr.c,v 1.7 2007/01/25 11:35:27 pjd Exp $");
#include <sys/param.h>
#include <sys/disk.h>
@@ -388,3 +388,29 @@
va_end(ap);
return (p);
}
+
+int
+gctl_change_param(struct gctl_req *req, const char *name, int len,
+ const void *value)
+{
+ struct gctl_req_arg *ap;
+ unsigned i;
+
+ if (req == NULL || req->error != NULL)
+ return (EDOOFUS);
+ for (i = 0; i < req->narg; i++) {
+ ap = &req->arg[i];
+ if (strcmp(ap->name, name) != 0)
+ continue;
+ ap->value = __DECONST(void *, value);
+ if (len >= 0) {
+ ap->flag &= ~GCTL_PARAM_ASCII;
+ ap->len = len;
+ } else if (len < 0) {
+ ap->flag |= GCTL_PARAM_ASCII;
+ ap->len = strlen(value) + 1;
+ }
+ return (0);
+ }
+ return (ENOENT);
+}
More information about the Midnightbsd-cvs
mailing list