Skip to content

Commit 0cd3c8a

Browse files
committed
Fix dereferencing pointer bug
1 parent 98ad000 commit 0cd3c8a

File tree

4 files changed

+15
-8
lines changed

4 files changed

+15
-8
lines changed

lib/node_modules/@stdlib/napi/argv-float/lib/native.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,12 +30,14 @@ var addon = require( './../src/addon.node' );
3030
*
3131
* @private
3232
* @param {number} v - input value
33+
* @returns {number} input value
3334
*
3435
* @example
35-
* wrapper( 1 );
36+
* var v = wrapper( 1 );
37+
* // returns 1.0
3638
*/
3739
function wrapper( v ) {
38-
addon( v );
40+
return addon( v );
3941
}
4042

4143

lib/node_modules/@stdlib/napi/argv-float/src/addon.c

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,12 +44,13 @@ static napi_value addon( napi_env env, napi_callback_info info ) {
4444
STDLIB_NAPI_ARGV( env, info, argv, argc, 1 )
4545
STDLIB_NAPI_ARGV_FLOAT( env, value, argv, 0 )
4646
float out = identity( value );
47-
if ( out != out ) {
48-
napi_status status = napi_throw_error( env, NULL, "unexpected error" );
49-
assert( status == napi_ok );
47+
if ( out == 3.14567890123f ) {
48+
assert( napi_throw_error( env, NULL, "unexpected error" ) == napi_ok );
5049
return NULL;
5150
}
52-
return NULL;
51+
napi_value v;
52+
assert( napi_create_double( env, (double)out, &v ) == napi_ok );
53+
return v;
5354
}
5455

5556
/**

lib/node_modules/@stdlib/napi/argv-float/src/main.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@
5555
napi_status stdlib_napi_argv_float( const napi_env env, const napi_value value, float *out, const char *message, napi_value *err ) {
5656
double v;
5757
stdlib_assert_napi_value_is_type( env, value, napi_number, message, err );
58-
if ( err != NULL ) {
58+
if ( *err != NULL ) {
5959
return napi_ok;
6060
}
6161
STDLIB_ASSERT_NAPI_STATUS_OK_RET_VALUE( env, napi_get_value_double( env, value, &v ), "", napi_ok )

lib/node_modules/@stdlib/napi/argv-float/test/test.native.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,11 @@ tape( 'the function does not throw an error if provided a number', opts, functio
7979
];
8080
for ( i = 0; i < values.length; i++ ) {
8181
v = addon( values[ i ] );
82-
t.strictEqual( v, void 0, 'returns expected value when provided '+values[ i ] );
82+
if ( values[ i ] === values[ i ] ) {
83+
t.strictEqual( v, values[ i ], 'returns expected value when provided '+values[ i ] );
84+
} else {
85+
t.strictEqual( v !== v, true, 'returns expected value when provided '+values[ i ] );
86+
}
8387
}
8488
t.end();
8589
});

0 commit comments

Comments
 (0)