312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
|
switch (mode) {
case 'a':
case 'c':
if (remainingArguments.count < 1)
help(of_stderr, false, 1);
files = [remainingArguments objectsInRange:
of_range(1, remainingArguments.count - 1)];
#ifdef OF_HAVE_SANDBOX
if (![remainingArguments.firstObject isEqual: @"-"])
[sandbox unveilPath: remainingArguments.firstObject
permissions: (mode == 'a' ? @"rwc" : @"wc")];
for (OFString *path in files)
|
|
|
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
|
switch (mode) {
case 'a':
case 'c':
if (remainingArguments.count < 1)
help(of_stderr, false, 1);
files = [remainingArguments objectsInRange:
OFMakeRange(1, remainingArguments.count - 1)];
#ifdef OF_HAVE_SANDBOX
if (![remainingArguments.firstObject isEqual: @"-"])
[sandbox unveilPath: remainingArguments.firstObject
permissions: (mode == 'a' ? @"rwc" : @"wc")];
for (OFString *path in files)
|
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
|
permissions: @"r"];
sandbox.allowsUnveil = false;
[OFApplication of_activateSandbox: sandbox];
#endif
files = [remainingArguments objectsInRange:
of_range(1, remainingArguments.count - 1)];
archive = [self
openArchiveWithPath: remainingArguments.firstObject
type: type
mode: mode
encoding: encoding];
[archive printFiles: files];
break;
case 'x':
if (remainingArguments.count < 1)
help(of_stderr, false, 1);
files = [remainingArguments objectsInRange:
of_range(1, remainingArguments.count - 1)];
#ifdef OF_HAVE_SANDBOX
if (![remainingArguments.firstObject isEqual: @"-"])
[sandbox unveilPath: remainingArguments.firstObject
permissions: @"r"];
if (files.count > 0)
|
|
|
|
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
|
permissions: @"r"];
sandbox.allowsUnveil = false;
[OFApplication of_activateSandbox: sandbox];
#endif
files = [remainingArguments objectsInRange:
OFMakeRange(1, remainingArguments.count - 1)];
archive = [self
openArchiveWithPath: remainingArguments.firstObject
type: type
mode: mode
encoding: encoding];
[archive printFiles: files];
break;
case 'x':
if (remainingArguments.count < 1)
help(of_stderr, false, 1);
files = [remainingArguments objectsInRange:
OFMakeRange(1, remainingArguments.count - 1)];
#ifdef OF_HAVE_SANDBOX
if (![remainingArguments.firstObject isEqual: @"-"])
[sandbox unveilPath: remainingArguments.firstObject
permissions: @"r"];
if (files.count > 0)
|