Version 0 of Is This File Mine?

Updated 2011-07-02 07:20:24 by hv

hv When running in a shared environment, I often need to determine if a file belongs to me or not. Here is how I do it, if you know a different way, please contribute.

    package require Tclx

    #
    # Does this file belong to me?
    #
    proc fileIsMine {fileName} {
        if {![file exists $fileName]} { return 0 }

        file stat $fileName stat
        if {$stat(uid) == [id userid]} {
            return 1
        } else {
            return 0
        }
    }

    #
    # Rough test
    #
    set allFiles [glob -nocomplain /tmp/*]
    set myUid [id userid]

    foreach f $allFiles {
        file stat $f filestat
        if {[fileIsMine $f]} {
            puts "mine     - $f"
        } else {
            puts "not mine - $f"
        }
    }