p4ruby 2021.1.2196401 → 2022.1.2359956

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e9bc10481728903ef23ab0a23d26a8a8625aa77ae932b03013c2e64b77dc68ef
4
- data.tar.gz: b92883da18bfbd61f0472ea75285b29839ba424fe17ff33fff31bcbcd2aecdb7
3
+ metadata.gz: 587b19e03b4c077b2cda3d2b2ef5ce1da47f7e032b558fb0d223b1f9bf3a56c6
4
+ data.tar.gz: 5b96c22e7194df776027c5166c1f9ffea6ff2837d23431c3187fc65a413094dd
5
5
  SHA512:
6
- metadata.gz: '081fb099b2bf35733bd3d1d442acbc8c7cd1b2ee239bc8d3e02f08c7dc1151d7bfc8f2247e5e496c53ea5bedea012c463530cb43cf97a052ee147767a39afa61'
7
- data.tar.gz: 35f10620209159f2ac682f47d2aa603ad661037b43143d897c78328d615cf7d9cb5851927fbe5f03a5be5df6be24175672e0742e99ec4b9e2d87d253dc5ef495
6
+ metadata.gz: 3e410a4d48096bcef3f356d95d0a882cde22b9004d3a27795322800ffce8bcecf2186ff67775d6ee8b458663a076befdb27df10c897eb395a4036c66f3cee44c
7
+ data.tar.gz: bf8115ccaa85c8c0f343548f7c6d2d7be3274784d1e172bbb4cb99a1c984cab90373e96b20625a2e7e49159957a45a4b924bf71a641bcde109e9dbc36bea3fba
data/LICENSE.txt CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2021, Perforce Software, Inc. All rights reserved.
1
+ Copyright (c) 2022, Perforce Software, Inc. All rights reserved.
2
2
 
3
3
  Redistribution and use in source and binary forms, with or without
4
4
  modification, are permitted provided that the following conditions are met:
@@ -30,6 +30,160 @@ The following are the license statements for code used in
30
30
  this program.
31
31
 
32
32
 
33
+ P4/P4API License
34
+ -----------------------
35
+ Copyright (c) 1995-2022, Perforce Software, Inc.
36
+ All rights reserved.
37
+
38
+ Redistribution and use in source and binary forms, with or without
39
+ modification, are permitted provided that the following conditions are met:
40
+
41
+ Redistributions of source code must retain the above copyright notice,
42
+ this list of conditions and the following disclaimer.
43
+
44
+ Redistributions in binary form must reproduce the above copyright
45
+ notice, this list of conditions and the following disclaimer in the
46
+ documentation and/or other materials provided with the distribution.
47
+
48
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
49
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
50
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
51
+ ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
52
+ LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
53
+ CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
54
+ SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
55
+ INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
56
+ CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
57
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
58
+ POSSIBILITY OF SUCH DAMAGE.
59
+
60
+
61
+ OpenSSL:
62
+ -----------------------
63
+ This product includes cryptographic software written by Eric Young
64
+ (eay@cryptsoft.com).
65
+ This product includes software written by Tim Hudson
66
+ (tjh@cryptsoft.com).
67
+
68
+ OpenSSL License
69
+ -----------------------
70
+
71
+ * ====================================================================
72
+ * Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved.
73
+ *
74
+ * Redistribution and use in source and binary forms, with or without
75
+ * modification, are permitted provided that the following conditions
76
+ * are met:
77
+ *
78
+ * 1. Redistributions of source code must retain the above copyright
79
+ * notice, this list of conditions and the following disclaimer.
80
+ *
81
+ * 2. Redistributions in binary form must reproduce the above copyright
82
+ * notice, this list of conditions and the following disclaimer in
83
+ * the documentation and/or other materials provided with the
84
+ * distribution.
85
+ *
86
+ * 3. All advertising materials mentioning features or use of this
87
+ * software must display the following acknowledgment:
88
+ * "This product includes software developed by the OpenSSL Project
89
+ * for use in the OpenSSL Toolkit. (http://www.openssl.org/)
90
+ *
91
+ * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be
92
+ * used to endorse or promote products derived from this software
93
+ * without prior written permission. For written permission, please
94
+ * contact openssl-core@openssl.org.
95
+ *
96
+ * 5. Products derived from this software may not be called "OpenSSL
97
+ * nor may "OpenSSL" appear in their names without prior written
98
+ * permission of the OpenSSL Project.
99
+ *
100
+ * 6. Redistributions of any form whatsoever must retain the following
101
+ * acknowledgment:
102
+ * "This product includes software developed by the OpenSSL Project
103
+ * for use in the OpenSSL Toolkit (http://www.openssl.org/)
104
+ *
105
+ * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
106
+ * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
107
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
108
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
109
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
110
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
111
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
112
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
113
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
114
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
115
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
116
+ * OF THE POSSIBILITY OF SUCH DAMAGE.
117
+ * ====================================================================
118
+ *
119
+ * This product includes cryptographic software written by Eric Young
120
+ * (eay@cryptsoft.com). This product includes software written by Tim
121
+ * Hudson (tjh@cryptsoft.com).
122
+ *
123
+ *
124
+
125
+ Original SSLeay License
126
+ -----------------------
127
+
128
+ * Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
129
+ * All rights reserved.
130
+ *
131
+ * This package is an SSL implementation written
132
+ * by Eric Young (eay@cryptsoft.com).
133
+ * The implementation was written so as to conform with Netscapes SSL.
134
+ *
135
+ * This library is free for commercial and non-commercial use as long as
136
+ * the following conditions are adhered to. The following conditions
137
+ * apply to all code found in this distribution, be it the RC4, RSA,
138
+ * lhash, DES, etc., code; not just the SSL code. The SSL documentation
139
+ * included with this distribution is covered by the same copyright terms
140
+ * except that the holder is Tim Hudson (tjh@cryptsoft.com).
141
+ *
142
+ * Copyright remains Eric Young's, and as such any Copyright notices in
143
+ * the code are not to be removed.
144
+ * If this package is used in a product, Eric Young should be given
145
+ * attribution as the author of the parts of the library used.
146
+ * This can be in the form of a textual message at program startup or
147
+ * in documentation (online or textual) provided with the package.
148
+ *
149
+ * Redistribution and use in source and binary forms, with or without
150
+ * modification, are permitted provided that the following conditions
151
+ * are met:
152
+ * 1. Redistributions of source code must retain the copyright
153
+ * notice, this list of conditions and the following disclaimer.
154
+ * 2. Redistributions in binary form must reproduce the above copyright
155
+ * notice, this list of conditions and the following disclaimer in the
156
+ * documentation and/or other materials provided with the distribution.
157
+ * 3. All advertising materials mentioning features or use of this
158
+ * software must display the following acknowledgement:
159
+ * "This product includes cryptographic software written by
160
+ * Eric Young (eay@cryptsoft.com)"
161
+ * The word 'cryptographic' can be left out if the routines from the
162
+ * library being used are not cryptographic related :-) .
163
+ * 4. If you include any Windows specific code (or a derivative thereof)
164
+ * from the apps directory (application code) you must include an
165
+ * acknowledgement: "This product includes software written by Tim
166
+ * Hudson (tjh@cryptsoft.com)"
167
+ *
168
+ * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
169
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
170
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
171
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
172
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
173
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
174
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
175
+ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
176
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
177
+ * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
178
+ * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
179
+ *
180
+ * The licence and distribution terms for any publicly available version
181
+ * or derivative of this code cannot be changed. i.e. this code cannot
182
+ * simply be copied and put under another distribution licence
183
+ * [including the GNU Public Licence.]
184
+ *
185
+
186
+
33
187
  sol2 License
34
188
  -----------------------
35
189
 
@@ -328,128 +482,3 @@ ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
328
482
  DEALINGS IN THE SOFTWARE.
329
483
 
330
484
 
331
-
332
- LICENSE ISSUES
333
- ==============
334
-
335
- The OpenSSL toolkit stays under a double license, i.e. both the conditions of
336
- the OpenSSL License and the original SSLeay license apply to the toolkit.
337
- See below for the actual license texts.
338
-
339
- OpenSSL License
340
- ---------------
341
-
342
- /* ====================================================================
343
- * Copyright (c) 1998-2019 The OpenSSL Project. All rights reserved.
344
- *
345
- * Redistribution and use in source and binary forms, with or without
346
- * modification, are permitted provided that the following conditions
347
- * are met:
348
- *
349
- * 1. Redistributions of source code must retain the above copyright
350
- * notice, this list of conditions and the following disclaimer.
351
- *
352
- * 2. Redistributions in binary form must reproduce the above copyright
353
- * notice, this list of conditions and the following disclaimer in
354
- * the documentation and/or other materials provided with the
355
- * distribution.
356
- *
357
- * 3. All advertising materials mentioning features or use of this
358
- * software must display the following acknowledgment:
359
- * "This product includes software developed by the OpenSSL Project
360
- * for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
361
- *
362
- * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
363
- * endorse or promote products derived from this software without
364
- * prior written permission. For written permission, please contact
365
- * openssl-core@openssl.org.
366
- *
367
- * 5. Products derived from this software may not be called "OpenSSL"
368
- * nor may "OpenSSL" appear in their names without prior written
369
- * permission of the OpenSSL Project.
370
- *
371
- * 6. Redistributions of any form whatsoever must retain the following
372
- * acknowledgment:
373
- * "This product includes software developed by the OpenSSL Project
374
- * for use in the OpenSSL Toolkit (http://www.openssl.org/)"
375
- *
376
- * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
377
- * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
378
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
379
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
380
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
381
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
382
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
383
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
384
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
385
- * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
386
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
387
- * OF THE POSSIBILITY OF SUCH DAMAGE.
388
- * ====================================================================
389
- *
390
- * This product includes cryptographic software written by Eric Young
391
- * (eay@cryptsoft.com). This product includes software written by Tim
392
- * Hudson (tjh@cryptsoft.com).
393
- *
394
- */
395
-
396
- Original SSLeay License
397
- -----------------------
398
-
399
- /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
400
- * All rights reserved.
401
- *
402
- * This package is an SSL implementation written
403
- * by Eric Young (eay@cryptsoft.com).
404
- * The implementation was written so as to conform with Netscapes SSL.
405
- *
406
- * This library is free for commercial and non-commercial use as long as
407
- * the following conditions are aheared to. The following conditions
408
- * apply to all code found in this distribution, be it the RC4, RSA,
409
- * lhash, DES, etc., code; not just the SSL code. The SSL documentation
410
- * included with this distribution is covered by the same copyright terms
411
- * except that the holder is Tim Hudson (tjh@cryptsoft.com).
412
- *
413
- * Copyright remains Eric Young's, and as such any Copyright notices in
414
- * the code are not to be removed.
415
- * If this package is used in a product, Eric Young should be given attribution
416
- * as the author of the parts of the library used.
417
- * This can be in the form of a textual message at program startup or
418
- * in documentation (online or textual) provided with the package.
419
- *
420
- * Redistribution and use in source and binary forms, with or without
421
- * modification, are permitted provided that the following conditions
422
- * are met:
423
- * 1. Redistributions of source code must retain the copyright
424
- * notice, this list of conditions and the following disclaimer.
425
- * 2. Redistributions in binary form must reproduce the above copyright
426
- * notice, this list of conditions and the following disclaimer in the
427
- * documentation and/or other materials provided with the distribution.
428
- * 3. All advertising materials mentioning features or use of this software
429
- * must display the following acknowledgement:
430
- * "This product includes cryptographic software written by
431
- * Eric Young (eay@cryptsoft.com)"
432
- * The word 'cryptographic' can be left out if the rouines from the library
433
- * being used are not cryptographic related :-).
434
- * 4. If you include any Windows specific code (or a derivative thereof) from
435
- * the apps directory (application code) you must include an acknowledgement:
436
- * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
437
- *
438
- * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
439
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
440
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
441
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
442
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
443
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
444
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
445
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
446
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
447
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
448
- * SUCH DAMAGE.
449
- *
450
- * The licence and distribution terms for any publically available version or
451
- * derivative of this code cannot be changed. i.e. this code cannot simply be
452
- * copied and put under another distribution licence
453
- * [including the GNU Public Licence.]
454
- */
455
-
data/ext/P4/extconf.rb CHANGED
@@ -162,7 +162,7 @@ def set_platform_opts
162
162
  # gcc detection patterns above won't catch that, so for these
163
163
  # platforms, we specifically convert cc to c++.
164
164
  CONFIG['LDSHARED'].sub!(/^cc/, 'c++')
165
- when /MINGW32/
165
+ when /MINGW32/, /MINGW/
166
166
  # When building with MinGW we need to statically link libgcc
167
167
  # and make sure we're linking with gcc and not g++. On older
168
168
  # Rubies, they use LDSHARED; newer ones (>=1.9) use LDSHAREDXX
@@ -193,6 +193,10 @@ def set_platform_cppflags
193
193
  $CPPFLAGS += '-DOS_NT -DCASE_INSENSITIVE '
194
194
  end
195
195
 
196
+ if (p4osname == 'MINGW')
197
+ $CPPFLAGS += '-DOS_NT -DCASE_INSENSITIVE '
198
+ end
199
+
196
200
  if (p4osname == 'SOLARIS')
197
201
  $CPPFLAGS += '-Dsolaris '
198
202
  end
@@ -238,7 +242,7 @@ def set_platform_libs
238
242
  $LDFLAGS.slice!('-arch ppc')
239
243
  $LDFLAGS += ' -framework CoreFoundation -framework Foundation'
240
244
  end
241
- when 'LINUX', 'MINGW32'
245
+ when 'LINUX', 'MINGW32', 'MINGW'
242
246
  $LDFLAGS += ' -Wl,--allow-multiple-definition'
243
247
  have_library('supc++')
244
248
  end
data/ext/P4/p4.cpp CHANGED
@@ -632,6 +632,23 @@ static VALUE p4_set_graph( VALUE self, VALUE toggle )
632
632
  return flag ? Qtrue : Qfalse; // Seems to be ignored...
633
633
  }
634
634
 
635
+ static VALUE p4_set_array_conversion( VALUE self, VALUE toggle )
636
+ {
637
+ P4ClientApi *p4;
638
+ Data_Get_Struct( self, P4ClientApi, p4 );
639
+ int flag = 1;
640
+
641
+ if( toggle == Qtrue )
642
+ flag = 1;
643
+ else if( toggle == Qfalse )
644
+ flag = 0;
645
+ else
646
+ flag = NUM2INT( toggle ) ? 1 : 0;
647
+
648
+ p4->SetArrayConversion( flag );
649
+ return flag ? Qtrue : Qfalse;
650
+ }
651
+
635
652
  /*******************************************************************************
636
653
  * Running commands. General purpose Run method and method for supplying
637
654
  * input to "p4 xxx -i" commands
@@ -1403,6 +1420,7 @@ void Init_P4()
1403
1420
  // Spec parsing
1404
1421
  rb_define_method( cP4, "parse_spec", RUBY_METHOD_FUNC(p4_parse_spec), 2 );
1405
1422
  rb_define_method( cP4, "format_spec", RUBY_METHOD_FUNC(p4_format_spec), 2 );
1423
+ rb_define_method( cP4, "set_array_conversion=", RUBY_METHOD_FUNC(p4_set_array_conversion), 1 );
1406
1424
 
1407
1425
  // Identification
1408
1426
  rb_define_const( cP4, "P4API_VERSION", P4Utils::ruby_string(P4APIVER_STRING));
@@ -243,6 +243,12 @@ P4ClientApi::SetDebug( int d )
243
243
  p4debug.SetLevel( "ssl=0" );
244
244
  }
245
245
 
246
+ void
247
+ P4ClientApi::SetArrayConversion( int i )
248
+ {
249
+ specMgr.SetArrayConversion( i );
250
+ }
251
+
246
252
  void
247
253
  P4ClientApi::SetProtocol( const char *var, const char *val )
248
254
  {
data/ext/P4/p4clientapi.h CHANGED
@@ -89,6 +89,7 @@ public:
89
89
  void SetTrustFile( const char *p );
90
90
  void SetUser( const char *u ) { client.SetUser( u ); }
91
91
  void SetVersion( const char *v ) { version = v; }
92
+ void SetArrayConversion ( int i );
92
93
 
93
94
  int GetApiLevel() { return apiLevel; }
94
95
  const StrPtr &GetCharset() { return client.GetCharset(); }
data/ext/P4/specmgr.cpp CHANGED
@@ -123,6 +123,7 @@ struct defaultspec {
123
123
  {
124
124
  "group",
125
125
  "Group;code:401;rq;ro;len:32;;"
126
+ "Description;code:NNN;type:text;fmt:L:len:128;;"
126
127
  "MaxResults;code:402;type:word;len:12;;"
127
128
  "MaxScanRows;code:403;type:word;len:12;;"
128
129
  "MaxLockTime;code:407;type:word;len:12;;"
@@ -289,6 +290,7 @@ struct defaultspec {
289
290
  "mergedown/mergeany;open:isolate;;"
290
291
  "ParentView;code:NNN;rq;open:isolate;"
291
292
  "pre:inherit;val:noinherit/inherit;;"
293
+ "Components;code:NNN;type:wlist;words:3;maxwords:4;len:64;open:propagate;fmt:C;;"
292
294
  "Paths;code:710;rq;type:wlist;words:2;maxwords:3;len:64;open:propagate;fmt:C;;"
293
295
  "Remapped;code:711;type:wlist;words:2;len:64;open:propagate;fmt:C;;"
294
296
  "Ignored;code:712;type:wlist;words:1;len:64;open:propagate;fmt:C;;"
@@ -324,6 +326,7 @@ SpecMgr::SpecMgr()
324
326
  {
325
327
  debug = 0;
326
328
  specs = 0;
329
+ convertArray = 1;
327
330
  Reset();
328
331
  }
329
332
 
@@ -590,7 +593,9 @@ SpecMgr::InsertItem( VALUE hash, const StrPtr *var, const StrPtr *val )
590
593
  StrBuf base, index;
591
594
  StrRef comma( "," );
592
595
 
593
- SplitKey( var, base, index );
596
+ if (convertArray) {
597
+ SplitKey( var, base, index );
598
+ }
594
599
 
595
600
  // If there's no index, then we insert into the top level hash
596
601
  // but if the key is already defined then we need to rename the key. This
data/ext/P4/specmgr.h CHANGED
@@ -44,6 +44,7 @@ class SpecMgr
44
44
  SpecMgr();
45
45
  ~SpecMgr();
46
46
  void SetDebug( int i ) { debug = i; }
47
+ void SetArrayConversion( int a) { convertArray = a; }
47
48
 
48
49
  // Clear the spec cache and revert to internal defaults
49
50
  void Reset();
@@ -97,6 +98,7 @@ class SpecMgr
97
98
 
98
99
  private:
99
100
  int debug;
101
+ int convertArray;
100
102
  StrBufDict * specs;
101
103
  };
102
104
 
data/ext/P4/undefdups.h CHANGED
@@ -44,9 +44,9 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
44
44
  #undef HAVE_FSYNC
45
45
  #undef HAVE_TRUNCATE
46
46
 
47
- #ifdef OS_NT
47
+ #ifdef _WIN32
48
48
 
49
- // Stupid "#define SetPort SetPortA" in winspool.h
49
+ // Unnecessary "#define SetPort SetPortA" in winspool.h
50
50
  # ifdef SetPort
51
51
  # undef SetPort
52
52
  # endif
data/lib/P4/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  class P4
2
- Version = VERSION = '2021.1.2196401'
2
+ Version = VERSION = '2022.1.2359956'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: p4ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 2021.1.2196401
4
+ version: 2022.1.2359956
5
5
  platform: ruby
6
6
  authors:
7
7
  - Perforce Software, Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-10-14 00:00:00.000000000 Z
11
+ date: 2022-10-26 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Ruby extensions to the C++ Perforce API.
14
14
  email: support@perforce.com