salvage: reopen smoke file with write access before payload write

This commit is contained in:
Mario Fetka
2026-05-31 20:37:28 +00:00
parent 7a9625aa5e
commit 988750c71c

View File

@@ -120,8 +120,29 @@ int main(int argc, char **argv)
ncp_close(conn);
return 1;
}
err = ncp_close_file(conn, file_info.file_id);
if (err) {
fprintf(stderr,
"NCP close after create failed: path=%s error=0x%04x\n",
path, (unsigned int)err);
ncp_close(conn);
return 1;
}
if (payload) {
size_t payload_len = strlen(payload);
memset(&file_info, 0, sizeof(file_info));
err = ncp_open_file(conn, 0, path, 0, AR_WRITE_ONLY, &file_info);
if (err) {
fprintf(stderr,
"NCP open for write failed: path=%s error=0x%04x\n",
path, (unsigned int)err);
ncp_close(conn);
return 1;
}
err = ncp_write(conn, file_info.file_id, 0, payload_len, payload);
if (!err)
err = ncp_write(conn, file_info.file_id, payload_len, 1, "\n");
@@ -133,18 +154,20 @@ int main(int argc, char **argv)
ncp_close(conn);
return 1;
}
err = ncp_close_file(conn, file_info.file_id);
if (err) {
fprintf(stderr,
"NCP close after write failed: path=%s error=0x%04x\n",
path, (unsigned int)err);
ncp_close(conn);
return 1;
}
printf("NCP write path=%s bytes=%lu verified\n",
path, (unsigned long)(payload_len + 1));
}
err = ncp_close_file(conn, file_info.file_id);
if (err) {
fprintf(stderr,
"NCP close failed: path=%s error=0x%04x\n",
path, (unsigned int)err);
ncp_close(conn);
return 1;
}
printf("NCP create path=%s verified\n", path);
}