Module Name: src
Committed By: thorpej
Date: Sat Jun 6 22:28:07 UTC 2020
Modified Files:
src/common/lib/libppath: ppath.c
Log Message:
Update for proplib(3) API changes.
To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 src/common/lib/libppath/ppath.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/common/lib/libppath/ppath.c
diff -u src/common/lib/libppath/ppath.c:1.4 src/common/lib/libppath/ppath.c:1.5
--- src/common/lib/libppath/ppath.c:1.4 Sat Dec 29 20:08:23 2012
+++ src/common/lib/libppath/ppath.c Sat Jun 6 22:28:07 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: ppath.c,v 1.4 2012/12/29 20:08:23 christos Exp $ */
+/* $NetBSD: ppath.c,v 1.5 2020/06/06 22:28:07 thorpej Exp $ */
/*-
* Copyright (c) 2011 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
*/
#include <sys/cdefs.h>
-__RCSID("$NetBSD: ppath.c,v 1.4 2012/12/29 20:08:23 christos Exp $");
+__RCSID("$NetBSD: ppath.c,v 1.5 2020/06/06 22:28:07 thorpej Exp $");
#ifdef _KERNEL
#include <sys/systm.h>
@@ -412,7 +412,7 @@ int
ppath_create_string(prop_object_t o, const ppath_t *p, const char *s)
{
return ppath_create_object_and_release(o, p,
- prop_string_create_cstring(s));
+ prop_string_create_copy(s));
}
int
@@ -420,21 +420,21 @@ ppath_create_data(prop_object_t o, const
const void *data, size_t size)
{
return ppath_create_object_and_release(o, p,
- prop_data_create_data(data, size));
+ prop_data_create_copy(data, size));
}
int
ppath_create_uint64(prop_object_t o, const ppath_t *p, uint64_t u)
{
return ppath_create_object_and_release(o, p,
- prop_number_create_unsigned_integer(u));
+ prop_number_create_unsigned(u));
}
int
ppath_create_int64(prop_object_t o, const ppath_t *p, int64_t i)
{
return ppath_create_object_and_release(o, p,
- prop_number_create_integer(i));
+ prop_number_create_signed(i));
}
int
@@ -746,14 +746,14 @@ ppath_copyset_data(prop_object_t o, prop
const void *data, size_t size)
{
return ppath_copyset_object_and_release(o, op, p,
- prop_data_create_data(data, size));
+ prop_data_create_copy(data, size));
}
int
ppath_set_data(prop_object_t o, const ppath_t *p, const void *data, size_t size)
{
return ppath_set_object_and_release(o, p,
- prop_data_create_data(data, size));
+ prop_data_create_copy(data, size));
}
int
@@ -767,7 +767,7 @@ ppath_get_data(prop_object_t o, const pp
return rc;
if (datap != NULL)
- *datap = prop_data_data_nocopy(v);
+ *datap = prop_data_value(v);
if (sizep != NULL)
*sizep = prop_data_size(v);
@@ -783,10 +783,16 @@ ppath_dup_data(prop_object_t o, const pp
if ((rc = ppath_get_object_of_type(o, p, &v, PROP_TYPE_DATA)) != 0)
return rc;
- if (datap != NULL)
- *datap = prop_data_data(v);
+ const size_t data_size = prop_data_size(v);
+
+ if (datap != NULL) {
+ void *buf = ppath_alloc(data_size);
+ if (buf != NULL)
+ (void) prop_data_copy_value(v, buf, data_size);
+ *datap = buf;
+ }
if (sizep != NULL)
- *sizep = prop_data_size(v);
+ *sizep = data_size;
return 0;
}
@@ -802,14 +808,14 @@ ppath_copyset_int64(prop_object_t o, pro
int64_t i)
{
return ppath_copyset_object_and_release(o, op, p,
- prop_number_create_integer(i));
+ prop_number_create_signed(i));
}
int
ppath_set_int64(prop_object_t o, const ppath_t *p, int64_t i)
{
return ppath_set_object_and_release(o, p,
- prop_number_create_integer(i));
+ prop_number_create_signed(i));
}
int
@@ -825,7 +831,7 @@ ppath_get_int64(prop_object_t o, const p
return EFTYPE;
if (ip != NULL)
- *ip = prop_number_integer_value(v);
+ *ip = prop_number_signed_value(v);
return 0;
}
@@ -841,14 +847,14 @@ ppath_copyset_string(prop_object_t o, pr
const char *s)
{
return ppath_copyset_object_and_release(o, op, p,
- prop_string_create_cstring(s));
+ prop_string_create_copy(s));
}
int
ppath_set_string(prop_object_t o, const ppath_t *p, const char *s)
{
return ppath_set_object_and_release(o, p,
- prop_string_create_cstring(s));
+ prop_string_create_copy(s));
}
int
@@ -861,7 +867,7 @@ ppath_get_string(prop_object_t o, const
return rc;
if (sp != NULL)
- *sp = prop_string_cstring_nocopy(v);
+ *sp = prop_string_value(v);
return 0;
}
@@ -875,8 +881,14 @@ ppath_dup_string(prop_object_t o, const
if ((rc = ppath_get_object_of_type(o, p, &v, PROP_TYPE_STRING)) != 0)
return rc;
- if (sp != NULL)
- *sp = prop_string_cstring(v);
+ const size_t string_size = prop_string_size(v);
+
+ if (sp != NULL) {
+ char *cp = ppath_alloc(string_size + 1);
+ if (cp != NULL)
+ (void)prop_string_copy_value(v, cp, string_size + 1);
+ *sp = cp;
+ }
return 0;
}
@@ -892,14 +904,14 @@ ppath_copyset_uint64(prop_object_t o, pr
uint64_t u)
{
return ppath_copyset_object_and_release(o, op, p,
- prop_number_create_unsigned_integer(u));
+ prop_number_create_unsigned(u));
}
int
ppath_set_uint64(prop_object_t o, const ppath_t *p, uint64_t u)
{
return ppath_set_object_and_release(o, p,
- prop_number_create_unsigned_integer(u));
+ prop_number_create_unsigned(u));
}
int
@@ -915,7 +927,7 @@ ppath_get_uint64(prop_object_t o, const
return EFTYPE;
if (up != NULL)
- *up = prop_number_unsigned_integer_value(v);
+ *up = prop_number_unsigned_value(v);
return 0;
}