@@ -169,7 +169,8 @@ void detail::format_windows_error(detail::buffer<char>& out, int error_code,
169
169
if (msg) {
170
170
utf16_to_utf8 utf8_message;
171
171
if (utf8_message.convert (msg) == ERROR_SUCCESS) {
172
- fmt::format_to (buffer_appender<char >(out), " {}: {}" , message, utf8_message);
172
+ fmt::format_to (buffer_appender<char >(out), " {}: {}" , message,
173
+ utf8_message);
173
174
return ;
174
175
}
175
176
}
@@ -192,19 +193,22 @@ buffered_file::buffered_file(cstring_view filename, cstring_view mode) {
192
193
FMT_RETRY_VAL (file_, FMT_SYSTEM (fopen (filename.c_str (), mode.c_str ())),
193
194
nullptr );
194
195
if (!file_)
195
- FMT_THROW (system_error (errno, " cannot open file {}" , filename.c_str ()));
196
+ FMT_THROW (system_error (errno, FMT_STRING (" cannot open file {}" ),
197
+ filename.c_str ()));
196
198
}
197
199
198
200
void buffered_file::close () {
199
201
if (!file_) return ;
200
202
int result = FMT_SYSTEM (fclose (file_));
201
203
file_ = nullptr ;
202
- if (result != 0 ) FMT_THROW (system_error (errno, " cannot close file" ));
204
+ if (result != 0 )
205
+ FMT_THROW (system_error (errno, FMT_STRING (" cannot close file" )));
203
206
}
204
207
205
208
int buffered_file::descriptor () const {
206
209
int fd = FMT_POSIX_CALL (fileno (file_));
207
- if (fd == -1 ) FMT_THROW (system_error (errno, " cannot get file descriptor" ));
210
+ if (fd == -1 )
211
+ FMT_THROW (system_error (errno, FMT_STRING (" cannot get file descriptor" )));
208
212
return fd;
209
213
}
210
214
@@ -222,7 +226,8 @@ file::file(cstring_view path, int oflag) {
222
226
FMT_RETRY (fd_, FMT_POSIX_CALL (open (path.c_str (), oflag, mode)));
223
227
# endif
224
228
if (fd_ == -1 )
225
- FMT_THROW (system_error (errno, " cannot open file {}" , path.c_str ()));
229
+ FMT_THROW (
230
+ system_error (errno, FMT_STRING (" cannot open file {}" ), path.c_str ()));
226
231
}
227
232
228
233
file::~file () noexcept {
@@ -238,7 +243,8 @@ void file::close() {
238
243
// See http://linux.derkeiler.com/Mailing-Lists/Kernel/2005-09/3000.html
239
244
int result = FMT_POSIX_CALL (close (fd_));
240
245
fd_ = -1 ;
241
- if (result != 0 ) FMT_THROW (system_error (errno, " cannot close file" ));
246
+ if (result != 0 )
247
+ FMT_THROW (system_error (errno, FMT_STRING (" cannot close file" )));
242
248
}
243
249
244
250
long long file::size () const {
@@ -260,7 +266,7 @@ long long file::size() const {
260
266
using Stat = struct stat ;
261
267
Stat file_stat = Stat ();
262
268
if (FMT_POSIX_CALL (fstat (fd_, &file_stat)) == -1 )
263
- FMT_THROW (system_error (errno, " cannot get file attributes" ));
269
+ FMT_THROW (system_error (errno, FMT_STRING ( " cannot get file attributes" ) ));
264
270
static_assert (sizeof (long long ) >= sizeof (file_stat.st_size ),
265
271
" return type of file::size is not large enough" );
266
272
return file_stat.st_size ;
@@ -270,14 +276,16 @@ long long file::size() const {
270
276
std::size_t file::read (void * buffer, std::size_t count) {
271
277
rwresult result = 0 ;
272
278
FMT_RETRY (result, FMT_POSIX_CALL (read (fd_, buffer, convert_rwcount (count))));
273
- if (result < 0 ) FMT_THROW (system_error (errno, " cannot read from file" ));
279
+ if (result < 0 )
280
+ FMT_THROW (system_error (errno, FMT_STRING (" cannot read from file" )));
274
281
return detail::to_unsigned (result);
275
282
}
276
283
277
284
std::size_t file::write (const void * buffer, std::size_t count) {
278
285
rwresult result = 0 ;
279
286
FMT_RETRY (result, FMT_POSIX_CALL (write (fd_, buffer, convert_rwcount (count))));
280
- if (result < 0 ) FMT_THROW (system_error (errno, " cannot write to file" ));
287
+ if (result < 0 )
288
+ FMT_THROW (system_error (errno, FMT_STRING (" cannot write to file" )));
281
289
return detail::to_unsigned (result);
282
290
}
283
291
@@ -286,16 +294,18 @@ file file::dup(int fd) {
286
294
// http://pubs.opengroup.org/onlinepubs/009695399/functions/dup.html
287
295
int new_fd = FMT_POSIX_CALL (dup (fd));
288
296
if (new_fd == -1 )
289
- FMT_THROW (system_error (errno, " cannot duplicate file descriptor {}" , fd));
297
+ FMT_THROW (system_error (
298
+ errno, FMT_STRING (" cannot duplicate file descriptor {}" ), fd));
290
299
return file (new_fd);
291
300
}
292
301
293
302
void file::dup2 (int fd) {
294
303
int result = 0 ;
295
304
FMT_RETRY (result, FMT_POSIX_CALL (dup2 (fd_, fd)));
296
305
if (result == -1 ) {
297
- FMT_THROW (system_error (errno, " cannot duplicate file descriptor {} to {}" ,
298
- fd_, fd));
306
+ FMT_THROW (system_error (
307
+ errno, FMT_STRING (" cannot duplicate file descriptor {} to {}" ), fd_,
308
+ fd));
299
309
}
300
310
}
301
311
@@ -320,7 +330,8 @@ void file::pipe(file& read_end, file& write_end) {
320
330
// http://pubs.opengroup.org/onlinepubs/009696799/functions/pipe.html
321
331
int result = FMT_POSIX_CALL (pipe (fds));
322
332
# endif
323
- if (result != 0 ) FMT_THROW (system_error (errno, " cannot create pipe" ));
333
+ if (result != 0 )
334
+ FMT_THROW (system_error (errno, FMT_STRING (" cannot create pipe" )));
324
335
// The following assignments don't throw because read_fd and write_fd
325
336
// are closed.
326
337
read_end = file (fds[0 ]);
@@ -335,8 +346,8 @@ buffered_file file::fdopen(const char* mode) {
335
346
FILE* f = FMT_POSIX_CALL (fdopen (fd_, mode));
336
347
# endif
337
348
if (!f)
338
- FMT_THROW (
339
- system_error ( errno, " cannot associate stream with file descriptor" ));
349
+ FMT_THROW (system_error (
350
+ errno, FMT_STRING ( " cannot associate stream with file descriptor" ) ));
340
351
buffered_file bf (f);
341
352
fd_ = -1 ;
342
353
return bf;
@@ -349,7 +360,8 @@ long getpagesize() {
349
360
return si.dwPageSize ;
350
361
# else
351
362
long size = FMT_POSIX_CALL (sysconf (_SC_PAGESIZE));
352
- if (size < 0 ) FMT_THROW (system_error (errno, " cannot get memory page size" ));
363
+ if (size < 0 )
364
+ FMT_THROW (system_error (errno, FMT_STRING (" cannot get memory page size" )));
353
365
return size;
354
366
# endif
355
367
}
0 commit comments