salvage: reopen smoke file with write access before payload write
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user