Sha256: 8eed2723872de77dc57abc66982de70f29ee9067700b4fda674a8ec805d0443a

Contents?: true

Size: 683 Bytes

Versions: 2

Compression:

Stored size: 683 Bytes

Contents

#include "say.h"

static say_thread_variable *say_last_error = NULL;

const char *say_error_get_last() {
  if (!say_last_error)
    return NULL;

  return say_thread_variable_get(say_last_error);
}

void say_error_set(const char *message) {
  if (!say_last_error)
    say_last_error = say_thread_variable_create();

  void *old = say_thread_variable_get(say_last_error);
  if (old)
    free(old);

  say_thread_variable_set(say_last_error, say_strdup(message));
}

void say_error_clean_up() {
  if (say_last_error) {
    void *error = say_thread_variable_get(say_last_error);
    if (error) free(error);

    say_thread_variable_free(say_last_error);
  }

  say_last_error = NULL;
}

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
ray-0.2.1 ext/say_error.c
ray-0.2.0 ext/say_error.c