[Midnightbsd-cvs] src [7503] trunk/lib/libmport/create_primative.c: write owner, group, mode for @() syntax
laffer1 at midnightbsd.org
laffer1 at midnightbsd.org
Fri Apr 8 21:14:01 EDT 2016
Revision: 7503
http://svnweb.midnightbsd.org/src/?rev=7503
Author: laffer1
Date: 2016-04-08 21:14:01 -0400 (Fri, 08 Apr 2016)
Log Message:
-----------
write owner, group, mode for @() syntax
Modified Paths:
--------------
trunk/lib/libmport/create_primative.c
Modified: trunk/lib/libmport/create_primative.c
===================================================================
--- trunk/lib/libmport/create_primative.c 2016-04-09 01:13:28 UTC (rev 7502)
+++ trunk/lib/libmport/create_primative.c 2016-04-09 01:14:01 UTC (rev 7503)
@@ -123,7 +123,7 @@
{
mportAssetListEntry *e = NULL;
sqlite3_stmt *stmnt = NULL;
- char sql[] = "INSERT INTO assets (pkg, type, data, checksum) VALUES (?,?,?,?)";
+ char sql[] = "INSERT INTO assets (pkg, type, data, checksum, owner, grp, mode) VALUES (?,?,?,?,?,?,?)";
char md5[33];
char file[FILENAME_MAX];
char cwd[FILENAME_MAX];
@@ -157,10 +157,20 @@
if (sqlite3_bind_text(stmnt, 3, e->data, -1, SQLITE_STATIC) != SQLITE_OK) {
RETURN_ERROR(MPORT_ERR_FATAL, sqlite3_errmsg(db));
}
-
- if (e->type == ASSET_FILE || e->type == ASSET_SAMPLE || e->type == ASSET_SHELL) {
+ // 4 is computed below
+ if (sqlite3_bind_text(stmnt, 5, e->owner, -1, SQLITE_STATIC) != SQLITE_OK) {
+ RETURN_ERROR(MPORT_ERR_FATAL, sqlite3_errmsg(db));
+ }
+ if (sqlite3_bind_text(stmnt, 6, e->group, -1, SQLITE_STATIC) != SQLITE_OK) {
+ RETURN_ERROR(MPORT_ERR_FATAL, sqlite3_errmsg(db));
+ }
+ if (sqlite3_bind_text(stmnt, 7, e->mode, -1, SQLITE_STATIC) != SQLITE_OK) {
+ RETURN_ERROR(MPORT_ERR_FATAL, sqlite3_errmsg(db));
+ }
+
+ if (e->type == ASSET_FILE || e->type == ASSET_SAMPLE || e->type == ASSET_SHELL || e->type == ASSET_FILE_OWNER_MODE) {
/* Don't prepend cwd onto absolute file paths (this is useful for update) */
- if (*(e->data) == '/') {
+ if (e->data[0] == '/') {
(void)strlcpy(file, e->data, FILENAME_MAX);
} else {
(void)snprintf(file, FILENAME_MAX, "%s/%s", cwd, e->data);
More information about the Midnightbsd-cvs
mailing list