Skip to content

Commit b2e3402

Browse files
committed
Handle FileManager for macOS versions bellow 10.14
1 parent 96c25b0 commit b2e3402

File tree

2 files changed

+24
-24
lines changed

2 files changed

+24
-24
lines changed

Base.lproj/MainMenu.xib

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -152,8 +152,7 @@
152152
</menu>
153153
<window title="SubnetCalc" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" releasedWhenClosed="NO" animationBehavior="default" id="371">
154154
<windowStyleMask key="styleMask" titled="YES" closable="YES" miniaturizable="YES" resizable="YES"/>
155-
<windowPositionMask key="initialPositionMask" leftStrut="YES" rightStrut="YES" topStrut="YES" bottomStrut="YES"/>
156-
<rect key="contentRect" x="335" y="326" width="670" height="694"/>
155+
<rect key="contentRect" x="0.0" y="0.0" width="670" height="694"/>
157156
<rect key="screenRect" x="0.0" y="0.0" width="1440" height="900"/>
158157
<value key="minSize" type="size" width="670" height="694"/>
159158
<view key="contentView" id="372">
@@ -471,7 +470,7 @@
471470
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
472471
<clipView key="contentView" id="L0l-HJ-flz">
473472
<rect key="frame" x="1" y="1" width="567" height="485"/>
474-
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
473+
<autoresizingMask key="autoresizingMask"/>
475474
<subviews>
476475
<tableView verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnSelection="YES" multipleSelection="NO" autosaveColumns="NO" headerView="583" id="586">
477476
<rect key="frame" x="0.0" y="0.0" width="567" height="462"/>

SubnetCalcAppDelegate.swift

Lines changed: 22 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -888,31 +888,32 @@ class SubnetCalcAppDelegate: NSObject, NSApplicationDelegate, NSWindowDelegate,
888888
panel.allowedFileTypes = ["csv"]
889889
panel.begin(completionHandler: { (result) in
890890
if (result == NSApplication.ModalResponse.OK && panel.url != nil) {
891+
var fileMgt: FileManager
891892
if #available(OSX 10.14, *) {
892-
let fileMgt = FileManager(authorization: NSWorkspace.Authorization())
893-
fileMgt.createFile(atPath: panel.url!.path, contents: nil, attributes: nil)
894-
//var cvsData = NSMutableData.init(capacity: Constants.BUFFER_LINES)
895-
var cvsData = Data(capacity: Constants.BUFFER_LINES)
896-
let cvsFile = FileHandle(forWritingAtPath: panel.url!.path)
897-
if (cvsFile != nil) {
898-
var cvsStr = "#;Subnet ID;Range;Broadcast\n"
899-
for index in (0...(self.ipsc!.maxSubnets() - 1)) {
900-
let mask: UInt32 = UInt32(index) << (32 - self.ipsc!.maskBits)
901-
let ipaddr = (IPSubnetCalc.numerize(ipAddress: self.ipsc!.subnetId())) | mask
902-
let ipsc_tmp = IPSubnetCalc(ipAddress: IPSubnetCalc.digitize(ipAddress: ipaddr), maskbits: self.ipsc!.maskBits)
903-
if (ipsc_tmp != nil) {
904-
cvsStr.append("\(index + 1);\(ipsc_tmp!.subnetId());\(ipsc_tmp!.subnetRange());\(ipsc_tmp!.subnetBroadcast())\n")
905-
}
906-
}
907-
cvsData.append(cvsStr.data(using: String.Encoding.ascii)!)
908-
cvsFile!.write(cvsData)
909-
cvsFile!.synchronizeFile()
910-
cvsFile!.closeFile()
911-
}
893+
fileMgt = FileManager(authorization: NSWorkspace.Authorization())
912894
} else {
913895
// Fallback on earlier versions
896+
fileMgt = FileManager.default
897+
}
898+
fileMgt.createFile(atPath: panel.url!.path, contents: nil, attributes: nil)
899+
//var cvsData = NSMutableData.init(capacity: Constants.BUFFER_LINES)
900+
var cvsData = Data(capacity: Constants.BUFFER_LINES)
901+
let cvsFile = FileHandle(forWritingAtPath: panel.url!.path)
902+
if (cvsFile != nil) {
903+
var cvsStr = "#;Subnet ID;Range;Broadcast\n"
904+
for index in (0...(self.ipsc!.maxSubnets() - 1)) {
905+
let mask: UInt32 = UInt32(index) << (32 - self.ipsc!.maskBits)
906+
let ipaddr = (IPSubnetCalc.numerize(ipAddress: self.ipsc!.subnetId())) | mask
907+
let ipsc_tmp = IPSubnetCalc(ipAddress: IPSubnetCalc.digitize(ipAddress: ipaddr), maskbits: self.ipsc!.maskBits)
908+
if (ipsc_tmp != nil) {
909+
cvsStr.append("\(index + 1);\(ipsc_tmp!.subnetId());\(ipsc_tmp!.subnetRange());\(ipsc_tmp!.subnetBroadcast())\n")
910+
}
911+
}
912+
cvsData.append(cvsStr.data(using: String.Encoding.ascii)!)
913+
cvsFile!.write(cvsData)
914+
cvsFile!.synchronizeFile()
915+
cvsFile!.closeFile()
914916
}
915-
916917
}
917918
}
918919
)

0 commit comments

Comments
 (0)