Ticket #1698: 0001-Use-0666-as-default-file-open-mode.2.patch

File 0001-Use-0666-as-default-file-open-mode.2.patch, 3.4 KB (added by Vasilij Schneidermann, 4 years ago)
  • scsh-process/1.5.2/scsh-process.scm

    From 021a5dafec3164cdedd30f1acee94b9d3fd19228 Mon Sep 17 00:00:00 2001
    From: Vasilij Schneidermann <mail@vasilij.de>
    Date: Wed, 13 May 2020 09:45:00 +0200
    Subject: [PATCH] Use 0666 as default file-open mode
    
    ---
     scsh-process/1.5.2/scsh-process.scm | 31 +++++++++++++++++++++--------
     1 file changed, 23 insertions(+), 8 deletions(-)
    
    diff --git a/scsh-process/1.5.2/scsh-process.scm b/scsh-process/1.5.2/scsh-process.scm
    index a6d4bdf..4714746 100644
    a b  
    5555(import scheme)
    5656
    5757(cond-expand
    58   (chicken-5 (import (chicken base) (chicken condition) (chicken io)
    59                      (chicken port) (chicken file) (chicken file posix)
    60                      (chicken fixnum) (chicken string) (chicken process)
    61                      (chicken process signal) srfi-18 llrb-fixnum-table))
     58  (chicken-5 (import (chicken base) (chicken bitwise) (chicken condition)
     59                     (chicken io) (chicken port) (chicken file)
     60                     (chicken file posix) (chicken fixnum) (chicken string)
     61                     (chicken process) (chicken process signal)
     62                     srfi-18 llrb-fixnum-table))
    6263  (else (import chicken)
    6364        (use data-structures (rename extras (read-file read-list))
    6465             utils files ports posix srfi-1 srfi-18)
     
    370371(define (run/file* thunk)
    371372  (let ((temp-file (create-temporary-file)))
    372373    (wait (fork (lambda ()
    373                   (let ((fd (file-open temp-file open/wronly)))
     374                  (let ((fd (file-open temp-file
     375                                       open/wronly
     376                                       (bitwise-ior perm/irusr perm/iwusr
     377                                                    perm/irgrp perm/iwgrp
     378                                                    perm/iroth perm/iwoth))))
    374379                    (duplicate-fileno fd 1)
    375380                    (with-output-to-port (open-output-file* 1) thunk)))))
    376381    temp-file))
     
    449454    ((_ (> ?fd ?file-name))
    450455     (duplicate-fileno
    451456      (file-open (maybe->string `?file-name)
    452                  (fx+ (fx+ open/wronly open/creat) open/trunc))
     457                 (fx+ (fx+ open/wronly open/creat) open/trunc)
     458                 (bitwise-ior perm/irusr perm/iwusr
     459                              perm/irgrp perm/iwgrp
     460                              perm/iroth perm/iwoth))
    453461      `?fd))
    454462    ((_ (>> ?fd ?file-name))
    455463     (duplicate-fileno (file-open (maybe->string `?file-name)
    456                                   (fx+ open/wronly (fx+ open/append open/creat)))
     464                                  (fx+ open/wronly (fx+ open/append open/creat))
     465                                  (bitwise-ior perm/irusr perm/iwusr
     466                                               perm/irgrp perm/iwgrp
     467                                               perm/iroth perm/iwoth))
    457468                       `?fd))
    458469    ((_ (< ?fd ?file-name))
    459      (duplicate-fileno (file-open (maybe->string `?file-name) open/rdonly)
     470     (duplicate-fileno (file-open (maybe->string `?file-name)
     471                                  open/rdonly
     472                                  (bitwise-ior perm/irusr perm/iwusr
     473                                               perm/irgrp perm/iwgrp
     474                                               perm/iroth perm/iwoth))
    460475                       `?fd))
    461476    ((_ (<< ?fd ?object))
    462477     (fork/pipe+ `((1 ?fd)) (lambda () (display `?object (open-output-file* 1)))))