@@ -99,11 +99,12 @@ namespace fc::primitives::sector_file {
99
99
}
100
100
101
101
outcome::result<SectorId> parseSectorName (const std::string §or_str) {
102
- SectorNumber sector_id;
103
- ActorId miner_id;
102
+ SectorNumber sector_id{} ;
103
+ ActorId miner_id{} ;
104
104
105
105
auto count =
106
- std::sscanf (sector_str.c_str (), " s-t0%lld-%lld" , &miner_id, §or_id);
106
+ // NOLINTNEXTLINE(cppcoreguidelines-pro-type-vararg,hicpp-vararg)
107
+ std::sscanf (sector_str.c_str (), " s-t0%ld-%ld" , &miner_id, §or_id);
107
108
108
109
if (count != 2 ) {
109
110
return SectorFileTypeErrors::kInvalidSectorName ;
@@ -137,11 +138,11 @@ namespace fc::primitives::sector_file {
137
138
trailer.put (0 , 1 );
138
139
}
139
140
is_first = false ;
140
- } else if (not ( i % 2 ) == is_previous_value) {
141
+ } else if ((( i % 2 ) == 0 ) == is_previous_value) {
141
142
return SectorFileError::kInvalidRuns ;
142
143
}
143
144
144
- is_previous_value = not ( i % 2 );
145
+ is_previous_value = (( i % 2 ) == 0 );
145
146
146
147
if (runs[i] == 1 ) {
147
148
trailer.put (1 , 1 );
@@ -182,23 +183,24 @@ namespace fc::primitives::sector_file {
182
183
return SectorFileError::kCannotMoveCursor ;
183
184
}
184
185
185
- file.write ((char *)trailer.data (), trailer.size ());
186
+ file.write (common::span::bytestr (trailer.data ()),
187
+ gsl::narrow<int64_t >(trailer.size ()));
186
188
187
189
if (!file.good ()) {
188
190
return SectorFileError::kCannotWrite ;
189
191
}
190
192
191
193
boost::endian::little_uint32_buf_t trailer_size (trailer.size ());
192
194
193
- file.write (( char *) trailer_size.data (), sizeof (uint32_t ));
195
+ file.write (common::span::bytestr ( trailer_size.data () ), sizeof (uint32_t ));
194
196
195
197
if (!file.good ()) {
196
198
return SectorFileError::kCannotWrite ;
197
199
}
198
200
199
201
file.close ();
200
202
201
- boost::system::error_code ec;
203
+ boost::system::error_code ec{} ;
202
204
fs::resize_file (
203
205
path, max_piece_size + sizeof (uint32_t ) + trailer.size (), ec);
204
206
if (ec.failed ()) {
@@ -211,13 +213,14 @@ namespace fc::primitives::sector_file {
211
213
outcome::result<std::shared_ptr<SectorFile>> SectorFile::createFile (
212
214
const std::string &path, PaddedPieceSize max_piece_size) {
213
215
{
216
+ // NOLINTNEXTLINE(cppcoreguidelines-pro-type-vararg,hicpp-vararg)
214
217
int fd = open (path.c_str (), O_RDWR | O_CREAT, 0644 );
215
218
if (fd == -1 ) {
216
219
return SectorFileError::kCannotCreateFile ;
217
220
}
218
221
close (fd);
219
222
}
220
- boost::system::error_code ec;
223
+ boost::system::error_code ec{} ;
221
224
fs::resize_file (path, max_piece_size, ec);
222
225
if (ec.failed ()) {
223
226
return SectorFileError::kCannotResizeFile ;
@@ -233,7 +236,7 @@ namespace fc::primitives::sector_file {
233
236
if (!fs::exists (path)) {
234
237
return SectorFileError::kFileNotExist ;
235
238
}
236
-
239
+ // NOLINTNEXTLINE(cppcoreguidelines-pro-type-vararg,hicpp-vararg)
237
240
int fd = open (path.c_str (), O_RDWR, 0644 );
238
241
if (fd == -1 ) {
239
242
return SectorFileError::kCannotOpenFile ;
@@ -250,7 +253,7 @@ namespace fc::primitives::sector_file {
250
253
pread (fd,
251
254
trailer_size_buf.data (),
252
255
trailer_size_bytes,
253
- file_size - trailer_size_bytes);
256
+ gsl::narrow< int64_t >( file_size - trailer_size_bytes) );
254
257
255
258
uint64_t trailer_size = trailer_size_buf.value ();
256
259
@@ -261,7 +264,8 @@ namespace fc::primitives::sector_file {
261
264
uint64_t trailer_offset = file_size - trailer_size_bytes - trailer_size;
262
265
263
266
std::vector<uint8_t > trailer (trailer_size);
264
- pread (fd, trailer.data (), trailer_size, trailer_offset);
267
+ pread (
268
+ fd, trailer.data (), trailer_size, gsl::narrow<int64_t >(trailer_offset));
265
269
266
270
OUTCOME_TRY (runs, runsFromBuffer (trailer));
267
271
@@ -304,7 +308,7 @@ namespace fc::primitives::sector_file {
304
308
305
309
outcome::result<void > SectorFile::free (PaddedByteIndex offset,
306
310
PaddedPieceSize size) {
307
- // TODO: deallocate
311
+ // TODO(ortyomka) : deallocate
308
312
309
313
auto new_runs =
310
314
primitives::runsAnd (runs_, std::vector<uint64_t >{offset, size}, true );
@@ -340,6 +344,7 @@ namespace fc::primitives::sector_file {
340
344
logger_ = common::createLogger (" sector file" );
341
345
}
342
346
347
+ // NOLINTNEXTLINE(readability-function-cognitive-complexity)
343
348
outcome::result<boost::optional<PieceInfo>> SectorFile::write (
344
349
const PieceData &data,
345
350
PaddedByteIndex offset,
@@ -365,7 +370,7 @@ namespace fc::primitives::sector_file {
365
370
}
366
371
}
367
372
368
- file_.seekp (offset, std::ios_base::beg);
373
+ file_.seekp (gsl::narrow< int64_t >( offset) , std::ios_base::beg);
369
374
370
375
if (not file_.good ()) {
371
376
return SectorFileError::kCannotMoveCursor ;
@@ -398,7 +403,7 @@ namespace fc::primitives::sector_file {
398
403
(char *)(buffer.data () + read),
399
404
chunk_size.unpadded () - read);
400
405
if (current_read == -1 ) {
401
- // TODO: check errno
406
+ // TODO(ortyomka) : check errno
402
407
return SectorFileError::kCannotRead ;
403
408
}
404
409
@@ -472,7 +477,7 @@ namespace fc::primitives::sector_file {
472
477
}
473
478
}
474
479
475
- file_.seekg (offset, std::ios_base::beg);
480
+ file_.seekg (gsl::narrow< int64_t >( offset) , std::ios_base::beg);
476
481
477
482
if (!file_.good ()) {
478
483
return SectorFileError::kCannotMoveCursor ;
@@ -482,15 +487,15 @@ namespace fc::primitives::sector_file {
482
487
constexpr auto kDefaultBufferSize = uint64_t (32 * 1024 );
483
488
PaddedPieceSize output_size =
484
489
primitives::piece::paddedSize (kDefaultBufferSize ).padded ();
485
- std::vector<uint8_t > read (output_size);
490
+ std::vector<char > read (output_size);
486
491
std::vector<uint8_t > buffer (output_size.unpadded ());
487
492
488
493
while (left > 0 ) {
489
494
if (left < output_size.unpadded ()) {
490
495
output_size = primitives::piece::paddedSize (left).padded ();
491
496
}
492
497
493
- file_.read (( char *) read.data (), output_size);
498
+ file_.read (read.data (), gsl::narrow< int64_t >( output_size) );
494
499
495
500
if (!file_.good ()) {
496
501
return SectorFileError::kCannotRead ;
@@ -500,17 +505,18 @@ namespace fc::primitives::sector_file {
500
505
return SectorFileError::kNotReadEnough ;
501
506
}
502
507
508
+ // TODO(ortyomka): maybe boost map file
503
509
primitives::piece::unpad (
504
- gsl::make_span (read. data (), output_size),
505
- gsl::make_span (
506
- buffer.data (),
507
- output_size.unpadded ())); // TODO: maybe boost map file
510
+ common::span::cbytes (
511
+ gsl::make_span (read. data (), gsl::narrow< int64_t >(output_size))),
512
+ gsl::make_span ( buffer.data (),
513
+ gsl::narrow< int64_t >( output_size.unpadded ())));
508
514
509
515
auto write_size =
510
516
::write (output.getFd(), buffer.data(), output_size.unpadded());
511
517
512
518
if (write_size == -1 ) {
513
- // TODO: check errno
519
+ // TODO(ortyomka) : check errno
514
520
return SectorFileError::kCannotWrite ;
515
521
}
516
522
@@ -568,16 +574,19 @@ namespace fc::primitives::sector_file {
568
574
}
569
575
570
576
primitives::piece::pad (
571
- gsl::make_span<const uint8_t >(input.data (), biggest),
572
- gsl::make_span<uint8_t >(work_.data (), biggest.padded ()));
577
+ gsl::make_span<const uint8_t >(input.data (),
578
+ gsl::narrow<int64_t >(biggest)),
579
+ gsl::make_span<uint8_t >(work_.data (),
580
+ gsl::narrow<int64_t >(biggest.padded ())));
573
581
574
- output_.write ((char *)work_.data (), biggest.padded ());
582
+ output_.write (common::span::bytestr (work_.data ()),
583
+ gsl::narrow<int64_t >(biggest.padded ()));
575
584
576
585
if (not output_.good ()) {
577
586
return SectorFileError::kCannotWrite ;
578
587
}
579
588
580
- input.erase (input.begin (), input.begin () + biggest);
589
+ input.erase (input.begin (), input.begin () + gsl::narrow< int64_t >( biggest) );
581
590
582
591
if (input.size () < 127 ) {
583
592
stash_ = std::move (input);
0 commit comments