Skip to content
  • Michael Whittaker's avatar
    Removed `goto fail` code with `unique_ptr`. · 4ceab25d
    Michael Whittaker authored
    Previously, `UDPTransport::SendMessageInternal` dynamically allocated a
    `char[]` and used a `goto fail` to make sure that it was properly
    deleted. Something like:
    
    ```c++
        char *buf = new char[100];
        if (...) {
            ...
            goto fail;
        } else if (...) {
            ...
            goto fail;
        } else {
            ...
        }
    
    fail:
         delete [] buf;
         return false;
    ```
    
    Now, the array is stored in a `unique_ptr` so that it's properly
    deallocated when the function returns, without needing the goto fail.
    4ceab25d