@@ -114,13 +114,17 @@ function BinaryToDecimal(Binary){
114114
115115function DeicmalToBinary ( Decimal ) {
116116
117+ // error checks
117118 if ( ! Decimal ) return errorMsg3
118119 if ( Decimal . length > 15 || Decimal . length < 7 ) return errorMsg4 ;
119120
120121 const chart = [ 128 , 64 , 32 , 16 , 8 , 4 , 2 , 1 ]
121122
122123 const octets = Decimal . split ( '.' )
123124
125+ // more error checks
126+ if ( octets . length !== 4 ) return errorMsg4
127+
124128 if ( octets [ 0 ] . length > 3 || octets [ 0 ] . length < 1 ) return errorMsg5
125129 if ( octets [ 1 ] . length > 3 || octets [ 1 ] . length < 1 ) return errorMsg5
126130 if ( octets [ 2 ] . length > 3 || octets [ 2 ] . length < 1 ) return errorMsg5
@@ -136,9 +140,10 @@ function DeicmalToBinary(Decimal){
136140 let thirdOctet = ''
137141 let fourthOctet = ''
138142
139- // if octetOne from input includes anyhting thats not a number (like 'h')
140- // we make octetOne be more that 3 digits (4444) which would return errorMsg6
141- let octetOne = Number ( octets [ 0 ] ) ? Number ( octets [ 0 ] ) : 4444
143+ let octetOne = Number ( octets [ 0 ] )
144+
145+ // more error checks
146+ if ( Number . isNaN ( octetOne ) ) return errorMsg4
142147 if ( octetOne < 0 || octetOne > 255 ) return errorMsg6
143148
144149 for ( let i = 0 ; i < chart . length ; i ++ ) {
@@ -152,7 +157,9 @@ function DeicmalToBinary(Decimal){
152157 }
153158 }
154159
155- let octetTwo = Number ( octets [ 1 ] ) ? Number ( octets [ 1 ] ) : 4444
160+ let octetTwo = Number ( octets [ 1 ] )
161+
162+ if ( Number . isNaN ( octetTwos ) ) return errorMsg4
156163 if ( octetTwo < 0 || octetTwo > 255 ) return errorMsg6
157164
158165 for ( let i = 0 ; i < chart . length ; i ++ ) {
@@ -167,7 +174,9 @@ function DeicmalToBinary(Decimal){
167174
168175 }
169176
170- let octetThree = Number ( octets [ 2 ] ) ? Number ( octets [ 2 ] ) : 4444
177+ let octetThree = Number ( octets [ 2 ] )
178+
179+ if ( Number . isNaN ( octetThree ) ) return errorMsg4
171180 if ( octetThree < 0 || octetThree > 255 ) return errorMsg6
172181
173182 for ( let i = 0 ; i < chart . length ; i ++ ) {
@@ -182,7 +191,9 @@ function DeicmalToBinary(Decimal){
182191
183192 }
184193
185- let octetFour = Number ( octets [ 3 ] ) ? Number ( octets [ 3 ] ) : 4444
194+ let octetFour = Number ( octets [ 3 ] )
195+
196+ if ( Number . isNaN ( octetFour ) ) return errorMsg4
186197 if ( octetFour < 0 || octetFour > 255 ) return errorMsg6
187198
188199 for ( let i = 0 ; i < chart . length ; i ++ ) {
0 commit comments