WPBDC 2013.1.9 → 2013.1.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. checksums.yaml +8 -8
  2. data/ext/WPBDC/WPBDC.c +18 -2
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- OTg2NTEzZTcyYzE0MDM2YzIyMmVmMzE5NzU2Y2Q0N2MyZWQwOTQxNw==
4
+ ZTgzMjhkMjY0YzBmMmJmOTc5MWRjYzI3NWI4YTM0ZTM1NDJjNWU0ZA==
5
5
  data.tar.gz: !binary |-
6
- M2JhN2RkMmQwYmUxY2MyZmFlNmEyNGYzNGRjNGYzNDIwN2EwZjMxZA==
6
+ YTk2YjU5MDlkOGQ4N2FhZThhOWYwYzA3MTY0NWU4ZjFmZGQ0YzFkZQ==
7
7
  !binary "U0hBNTEy":
8
8
  metadata.gz: !binary |-
9
- ZTU2YTQ0OTIxODgwYzJhM2JiNDlhZmU4OTZkMGI0YWJhMTRmZTRkOWMzYmQ0
10
- ODE5YTY3MTc0ZDFiOTVkMGE1ZjcwOWYzNWZlM2FkZTMwZTM2ZjZhNWMwZDY5
11
- MTg2NjVkMzQ1OTRkZDgwYjg4MGFmM2M1ZjZlNmIzODJjOWM2ZGU=
9
+ MzJkMjI5ODZjOWJjOTk1MTM3OTY1MDdkMTU4OTgxNDgwNDBkMmEwMjc0MTU5
10
+ NmMxZmE1YTk1MDU4YjNiMzAxYWJjYmQ1OTg1Zjg0OTNkMjA2ZjBkNjg3NTM0
11
+ NzEzY2JiYjQwZTEzMmYwZGM1N2I1ODUzZDE4ODc2MjAwNmY3ZmI=
12
12
  data.tar.gz: !binary |-
13
- ZDVlYjViYWM2MTgwODZhMWRkYzlmZTEyM2IxYzdlYTJjNGJhYzA5MWI1NmY3
14
- NjEzODgzMDhjYWZjZTRlNjQ0NzBiYTkxMTQxYTg0NzJkNTFlMzQ3YmQ0MzBk
15
- OWM0OTQ0MzdjM2ViOWZhZWNjMzA2OTYwMWYxOTVjYWE1NWU4ZjE=
13
+ ZjQ1OGNmYzU1ZjgyZmIwOWRkZjFlODNhNjM0NDRiMTFiOGE5YmVlMWU4MTBi
14
+ MzRjMzRhYTI3YTc3NWE4MjZjYzJkOTBiODNmMGI0YjE2NjlmOTNiNjgzNWYx
15
+ NjAwYmJmZmU4ZWMzN2M4NmFhYWE3NzM0ZDZhMDRiMjE4NzVkMjE=
data/ext/WPBDC/WPBDC.c CHANGED
@@ -6,6 +6,7 @@
6
6
  static VALUE rb_api_endecrypt(VALUE self, VALUE bridge_as_string)
7
7
  #define ARGC_endecrypt 1
8
8
  {
9
+ Check_Type(bridge_as_string, T_STRING);
9
10
  INIT_STRING_FROM_VALUE(bridge_internal_string, bridge_as_string);
10
11
  endecrypt(bridge_internal_string);
11
12
  return bridge_as_string;
@@ -49,6 +50,7 @@ static void add_analysis_to_hash(VALUE hash, struct analysis_result_t *result)
49
50
  static VALUE rb_api_analyze(VALUE self, VALUE bridge_as_string)
50
51
  #define ARGC_analyze 1
51
52
  {
53
+ Check_Type(bridge_as_string, T_STRING);
52
54
  INIT_STRING_FROM_VALUE(bridge_internal_string, bridge_as_string);
53
55
  struct analysis_result_t result[1];
54
56
  VALUE hash = rb_hash_new();
@@ -60,6 +62,8 @@ static VALUE rb_api_analyze(VALUE self, VALUE bridge_as_string)
60
62
  static VALUE rb_api_are_same(VALUE self, VALUE bridge_as_string_a, VALUE bridge_as_string_b)
61
63
  #define ARGC_are_same 2
62
64
  {
65
+ Check_Type(bridge_as_string_a, T_STRING);
66
+ Check_Type(bridge_as_string_b, T_STRING);
63
67
  INIT_STRING_FROM_VALUE(bridge_internal_string_a, bridge_as_string_a);
64
68
  INIT_STRING_FROM_VALUE(bridge_internal_string_b, bridge_as_string_b);
65
69
  int cmp = compare(bridge_internal_string_a, bridge_internal_string_b);
@@ -79,6 +83,8 @@ static VALUE c_str_to_value(char *s)
79
83
  static VALUE rb_api_variant(VALUE self, VALUE bridge_as_string, VALUE seed)
80
84
  #define ARGC_variant 2
81
85
  {
86
+ Check_Type(bridge_as_string, T_STRING);
87
+ Check_Type(seed, T_FIXNUM);
82
88
  INIT_STRING_FROM_VALUE(bridge_internal_string, bridge_as_string);
83
89
  char *result = variant(bridge_internal_string, FIX2INT(seed));
84
90
  return c_str_to_value(result);
@@ -87,6 +93,8 @@ static VALUE rb_api_variant(VALUE self, VALUE bridge_as_string, VALUE seed)
87
93
  static VALUE rb_api_failed_variant(VALUE self, VALUE bridge_as_string, VALUE seed)
88
94
  #define ARGC_failed_variant 2
89
95
  {
96
+ Check_Type(bridge_as_string, T_STRING);
97
+ Check_Type(seed, T_FIXNUM);
90
98
  INIT_STRING_FROM_VALUE(bridge_internal_string, bridge_as_string);
91
99
  char *result = failed_variant(bridge_internal_string, FIX2INT(seed));
92
100
  return c_str_to_value(result);
@@ -95,6 +103,10 @@ static VALUE rb_api_failed_variant(VALUE self, VALUE bridge_as_string, VALUE see
95
103
  static VALUE rb_api_perturbation(VALUE self, VALUE bridge_as_string, VALUE seed, VALUE n_joints, VALUE n_members)
96
104
  #define ARGC_perturbation 4
97
105
  {
106
+ Check_Type(bridge_as_string, T_STRING);
107
+ Check_Type(seed, T_FIXNUM);
108
+ Check_Type(n_joints, T_FIXNUM);
109
+ Check_Type(n_members, T_FIXNUM);
98
110
  INIT_STRING_FROM_VALUE(bridge_internal_string, bridge_as_string);
99
111
  char *result = perturbation(bridge_internal_string, FIX2INT(seed), FIX2INT(n_joints), FIX2INT(n_members));
100
112
  return c_str_to_value(result);
@@ -103,11 +115,13 @@ static VALUE rb_api_perturbation(VALUE self, VALUE bridge_as_string, VALUE seed,
103
115
  static VALUE rb_api_sketch(VALUE self, VALUE bridge_as_string, VALUE width, VALUE height)
104
116
  #define ARGC_sketch 3
105
117
  {
118
+ Check_Type(bridge_as_string, T_STRING);
119
+ Check_Type(width, T_FIXNUM);
120
+ Check_Type(height, T_FIXNUM);
106
121
  INIT_STRING_FROM_VALUE(bridge_internal_string, bridge_as_string);
107
122
  COMPRESSED_IMAGE compressed_image[1];
108
123
  struct analysis_result_t result[1];
109
124
  VALUE hash = rb_hash_new();
110
-
111
125
  init_compressed_image(compressed_image);
112
126
  sketch(bridge_internal_string, FIX2INT(width), FIX2INT(height), compressed_image, result);
113
127
 
@@ -134,6 +148,7 @@ static VALUE rb_api_sketch(VALUE self, VALUE bridge_as_string, VALUE width, VALU
134
148
  static VALUE rb_api_analysis_table(VALUE self, VALUE bridge_as_string)
135
149
  #define ARGC_analysis_table 1
136
150
  {
151
+ Check_Type(bridge_as_string, T_STRING);
137
152
  INIT_STRING_FROM_VALUE(bridge_internal_string, bridge_as_string);
138
153
  char *result = analysis_table(bridge_internal_string);
139
154
  return c_str_to_value(result);
@@ -142,8 +157,9 @@ static VALUE rb_api_analysis_table(VALUE self, VALUE bridge_as_string)
142
157
  static VALUE rb_api_local_contest_number_to_id(VALUE self, VALUE number_as_string)
143
158
  #define ARGC_local_contest_number_to_id 1
144
159
  {
160
+ Check_Type(number_as_string, T_STRING);
145
161
  INIT_STRING_FROM_VALUE(number_internal_string, number_as_string);
146
- char * result = get_local_contest_number(number_internal_string);
162
+ char *result = get_local_contest_number(number_internal_string);
147
163
  // Don't use c_str_to_value here because result is static.
148
164
  return result ? rb_str_new2(result) : Qnil;
149
165
  }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: WPBDC
3
3
  version: !ruby/object:Gem::Version
4
- version: 2013.1.9
4
+ version: 2013.1.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gene Ressler
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-07-12 00:00:00.000000000 Z
11
+ date: 2013-07-14 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Container for C code extension that implements the West Point Bridge
14
14
  Contest Judge.