/simpletypesystem/trunk

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/simpletypesystem/trunk

« back to all changes in this revision

Viewing changes to src/Error.c

  • Committer: Gustav Hartvigsson
  • Date: 2015-04-28 12:25:20 UTC
  • Revision ID: gustav.hartvigsson@gmail.com-20150428122520-n90grm1k1l318ooa
* Finnished SLinkedList.
  * Still needs to be tested.
* Made s_object_initialize take the name of the class
* made s_object_free free the name
* fixed s_dynamic_array_free. It now takes a sboolean to tell it
  to free the data in the array or not.
* fixed a typo in defs.h
* fixed the the test of the dynamic array.
* switched (SObject *) to S_OBJECT () for casting in SError.
* changed hash_t to size_t.
* general code cleanup.

Show diffs side-by-side

added added

removed removed

Lines of Context:
41
41
  SErrorClass * klass = malloc (sizeof (SErrorClass));
42
42
  self->priv = malloc (sizeof (SErrorPrivate));
43
43
  
44
 
  s_object_set_class ((SObject *) self, (SObjectClass *) klass);
45
 
  s_object_initialize ((SObject *) self);
46
 
  s_object_set_to_string_method ((SObject *) self, error_to_string_method);
47
 
  s_object_set_free_method ((SObject *) self, METHOD(error_free_method));
48
 
 
 
44
  s_object_set_class (S_OBJECT (self), S_OBJECT_CLASS (klass));
 
45
  s_object_initialize (S_OBJECT (self), "Error");
 
46
  s_object_set_to_string_method (S_OBJECT (self), error_to_string_method);
 
47
  s_object_set_free_method (S_OBJECT (self), METHOD(error_free_method));
 
48
  
49
49
  self->priv->message = s_string_new (message);
50
50
  self->priv->error_type = error;
51
51
  return self;
52
52
}
53
53
 
54
54
void s_error_free (SError * self) {
55
 
  s_object_free ((SObject *) self);
 
55
  s_object_free (S_OBJECT (self));
56
56
}
57
57
 
58
58
char * error_to_string_method (SObject * obj) {
69
69
void error_free_method (SError * self) {
70
70
  free (self->priv->message);
71
71
  free (self->priv);
72
 
  SObject * base = (SObject *) self;
73
 
  SErrorClass * klass = (SErrorClass *) base->base_class;
 
72
  SObject * base = S_OBJECT (self);
 
73
  SErrorClass * klass = S_OBJECT_CLASS (base->base_class);
74
74
  free (klass);
75
75
  free (self);
76
76
}