If someone passes `master` as a string or array or anything else, they may break your code.

The correct way is:

```c
PHALCON_SEPARATE_PARAM(master);
if (Z_TYPE_P(master) != IS_LONG) {
    convert_to_long(master);
}
```

PHALCON_SEPARATE_PARAM() should be used when you are going to modify the parameter passed to your function: this will make sure that you won't modify anything other than the parameter.

For example,

```php
$master = 123;
$test = $master;
// At this point both $test and $master refer to the same memory area; Z_REFCOUNT_P(master) = Z_REFCOUNT_P($test) = 2.
// If you modify $master without separating it first, $test will also be modified.
// That's why you should always call PHALCON_SEPARATE_PARAM() on the arguments you are going to modify.
```