isomorfeus-ferret 0.12.7 → 0.13.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/LICENSE +101 -19
- data/README.md +85 -13
- data/ext/isomorfeus_ferret_ext/bm_bitvector.c +22 -30
- data/ext/isomorfeus_ferret_ext/bm_hash.c +6 -12
- data/ext/isomorfeus_ferret_ext/bm_micro_string.c +3 -6
- data/ext/isomorfeus_ferret_ext/bm_store.c +11 -22
- data/ext/isomorfeus_ferret_ext/brotli_common_dictionary.c +1 -1
- data/ext/isomorfeus_ferret_ext/brotli_dec_decode.c +1 -1
- data/ext/isomorfeus_ferret_ext/bzlib.c +1572 -0
- data/ext/isomorfeus_ferret_ext/bzlib.h +282 -0
- data/ext/isomorfeus_ferret_ext/bzlib_blocksort.c +1094 -0
- data/ext/isomorfeus_ferret_ext/bzlib_compress.c +672 -0
- data/ext/isomorfeus_ferret_ext/bzlib_crctable.c +104 -0
- data/ext/isomorfeus_ferret_ext/bzlib_decompress.c +652 -0
- data/ext/isomorfeus_ferret_ext/bzlib_huffman.c +205 -0
- data/ext/isomorfeus_ferret_ext/bzlib_private.h +509 -0
- data/ext/isomorfeus_ferret_ext/bzlib_randtable.c +84 -0
- data/ext/isomorfeus_ferret_ext/fio_tmpfile.h +53 -53
- data/ext/isomorfeus_ferret_ext/frb_analysis.c +785 -1192
- data/ext/isomorfeus_ferret_ext/frb_index.c +497 -495
- data/ext/isomorfeus_ferret_ext/frb_qparser.c +48 -60
- data/ext/isomorfeus_ferret_ext/frb_search.c +1520 -1002
- data/ext/isomorfeus_ferret_ext/frb_store.c +96 -96
- data/ext/isomorfeus_ferret_ext/frb_threading.h +0 -1
- data/ext/isomorfeus_ferret_ext/frb_utils.c +147 -196
- data/ext/isomorfeus_ferret_ext/frt_analysis.c +695 -1090
- data/ext/isomorfeus_ferret_ext/frt_analysis.h +174 -170
- data/ext/isomorfeus_ferret_ext/frt_array.c +2 -4
- data/ext/isomorfeus_ferret_ext/frt_bitvector.c +9 -16
- data/ext/isomorfeus_ferret_ext/frt_bitvector.h +32 -81
- data/ext/isomorfeus_ferret_ext/frt_document.c +15 -20
- data/ext/isomorfeus_ferret_ext/frt_document.h +10 -10
- data/ext/isomorfeus_ferret_ext/frt_except.c +5 -12
- data/ext/isomorfeus_ferret_ext/frt_field_index.c +3 -3
- data/ext/isomorfeus_ferret_ext/frt_field_index.h +6 -7
- data/ext/isomorfeus_ferret_ext/frt_filter.c +35 -46
- data/ext/isomorfeus_ferret_ext/frt_fs_store.c +1 -0
- data/ext/isomorfeus_ferret_ext/frt_global.c +91 -200
- data/ext/isomorfeus_ferret_ext/frt_global.h +7 -18
- data/ext/isomorfeus_ferret_ext/frt_hash.c +1 -2
- data/ext/isomorfeus_ferret_ext/frt_ind.c +32 -35
- data/ext/isomorfeus_ferret_ext/frt_ind.h +9 -9
- data/ext/isomorfeus_ferret_ext/frt_index.c +603 -410
- data/ext/isomorfeus_ferret_ext/frt_index.h +272 -291
- data/ext/isomorfeus_ferret_ext/frt_lang.c +0 -2
- data/ext/isomorfeus_ferret_ext/frt_mempool.c +1 -2
- data/ext/isomorfeus_ferret_ext/frt_multimapper.c +4 -7
- data/ext/isomorfeus_ferret_ext/frt_q_boolean.c +68 -91
- data/ext/isomorfeus_ferret_ext/frt_q_const_score.c +35 -38
- data/ext/isomorfeus_ferret_ext/frt_q_filtered_query.c +53 -72
- data/ext/isomorfeus_ferret_ext/frt_q_fuzzy.c +25 -32
- data/ext/isomorfeus_ferret_ext/frt_q_match_all.c +21 -23
- data/ext/isomorfeus_ferret_ext/frt_q_multi_term.c +66 -103
- data/ext/isomorfeus_ferret_ext/frt_q_parser.c +207 -195
- data/ext/isomorfeus_ferret_ext/frt_q_phrase.c +20 -16
- data/ext/isomorfeus_ferret_ext/frt_q_prefix.c +17 -14
- data/ext/isomorfeus_ferret_ext/frt_q_range.c +102 -131
- data/ext/isomorfeus_ferret_ext/frt_q_span.c +179 -178
- data/ext/isomorfeus_ferret_ext/frt_q_term.c +47 -60
- data/ext/isomorfeus_ferret_ext/frt_q_wildcard.c +18 -16
- data/ext/isomorfeus_ferret_ext/frt_ram_store.c +45 -84
- data/ext/isomorfeus_ferret_ext/frt_search.c +105 -146
- data/ext/isomorfeus_ferret_ext/frt_search.h +331 -320
- data/ext/isomorfeus_ferret_ext/frt_similarity.c +5 -13
- data/ext/isomorfeus_ferret_ext/frt_similarity.h +7 -12
- data/ext/isomorfeus_ferret_ext/frt_sort.c +105 -149
- data/ext/isomorfeus_ferret_ext/frt_store.c +13 -7
- data/ext/isomorfeus_ferret_ext/frt_store.h +10 -2
- data/ext/isomorfeus_ferret_ext/frt_threading.h +0 -1
- data/ext/isomorfeus_ferret_ext/isomorfeus_ferret.c +22 -112
- data/ext/isomorfeus_ferret_ext/isomorfeus_ferret.h +2 -32
- data/ext/isomorfeus_ferret_ext/lz4.c +2495 -0
- data/ext/isomorfeus_ferret_ext/lz4.h +774 -0
- data/ext/isomorfeus_ferret_ext/lz4frame.c +1899 -0
- data/ext/isomorfeus_ferret_ext/lz4frame.h +623 -0
- data/ext/isomorfeus_ferret_ext/lz4hc.c +1615 -0
- data/ext/isomorfeus_ferret_ext/lz4hc.h +413 -0
- data/ext/isomorfeus_ferret_ext/lz4xxhash.c +1030 -0
- data/ext/isomorfeus_ferret_ext/lz4xxhash.h +328 -0
- data/ext/isomorfeus_ferret_ext/stem_modules.h +0 -86
- data/ext/isomorfeus_ferret_ext/test.c +0 -17
- data/ext/isomorfeus_ferret_ext/test_1710.c +11 -12
- data/ext/isomorfeus_ferret_ext/test_analysis.c +590 -583
- data/ext/isomorfeus_ferret_ext/test_compound_io.c +1 -1
- data/ext/isomorfeus_ferret_ext/test_document.c +19 -15
- data/ext/isomorfeus_ferret_ext/test_except.c +1 -2
- data/ext/isomorfeus_ferret_ext/test_fields.c +59 -60
- data/ext/isomorfeus_ferret_ext/test_file_deleter.c +10 -27
- data/ext/isomorfeus_ferret_ext/test_filter.c +11 -8
- data/ext/isomorfeus_ferret_ext/test_global.c +0 -46
- data/ext/isomorfeus_ferret_ext/test_hash.c +2 -2
- data/ext/isomorfeus_ferret_ext/test_hashset.c +1 -1
- data/ext/isomorfeus_ferret_ext/test_highlighter.c +15 -11
- data/ext/isomorfeus_ferret_ext/test_index.c +372 -365
- data/ext/isomorfeus_ferret_ext/test_q_const_score.c +5 -3
- data/ext/isomorfeus_ferret_ext/test_q_filtered.c +5 -3
- data/ext/isomorfeus_ferret_ext/test_q_fuzzy.c +13 -10
- data/ext/isomorfeus_ferret_ext/test_q_parser.c +45 -7
- data/ext/isomorfeus_ferret_ext/test_q_span.c +15 -12
- data/ext/isomorfeus_ferret_ext/test_ram_store.c +3 -3
- data/ext/isomorfeus_ferret_ext/test_search.c +60 -64
- data/ext/isomorfeus_ferret_ext/test_segments.c +5 -4
- data/ext/isomorfeus_ferret_ext/test_sort.c +17 -14
- data/ext/isomorfeus_ferret_ext/test_store.c +2 -0
- data/ext/isomorfeus_ferret_ext/test_term.c +3 -1
- data/ext/isomorfeus_ferret_ext/test_term_vectors.c +9 -10
- data/ext/isomorfeus_ferret_ext/test_test.c +1 -2
- data/ext/isomorfeus_ferret_ext/test_threading.c +9 -10
- data/ext/isomorfeus_ferret_ext/testhelper.c +1 -2
- data/lib/isomorfeus/ferret/version.rb +1 -1
- metadata +27 -57
- data/ext/isomorfeus_ferret_ext/email.rl +0 -21
- data/ext/isomorfeus_ferret_ext/frt_scanner.c +0 -900
- data/ext/isomorfeus_ferret_ext/frt_scanner.h +0 -28
- data/ext/isomorfeus_ferret_ext/frt_scanner_mb.c +0 -6706
- data/ext/isomorfeus_ferret_ext/frt_scanner_utf8.c +0 -4420
- data/ext/isomorfeus_ferret_ext/scanner.h +0 -28
- data/ext/isomorfeus_ferret_ext/scanner.in +0 -43
- data/ext/isomorfeus_ferret_ext/scanner.rl +0 -84
- data/ext/isomorfeus_ferret_ext/scanner_mb.rl +0 -200
- data/ext/isomorfeus_ferret_ext/scanner_utf8.rl +0 -85
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_basque.c +0 -1167
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_basque.h +0 -6
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_catalan.c +0 -1433
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_catalan.h +0 -6
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_danish.c +0 -301
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_danish.h +0 -6
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_dutch.c +0 -590
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_dutch.h +0 -6
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_english.c +0 -1049
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_english.h +0 -6
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_finnish.c +0 -705
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_finnish.h +0 -6
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_french.c +0 -1239
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_french.h +0 -6
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_german.c +0 -477
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_german.h +0 -6
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_hungarian.c +0 -1217
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_hungarian.h +0 -7
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_indonesian.c +0 -394
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_indonesian.h +0 -6
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_irish.c +0 -457
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_irish.h +0 -6
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_italian.c +0 -1009
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_italian.h +0 -6
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_norwegian.c +0 -259
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_norwegian.h +0 -6
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_porter.c +0 -704
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_porter.h +0 -6
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_portuguese.c +0 -948
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_portuguese.h +0 -6
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_spanish.c +0 -1028
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_spanish.h +0 -6
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_swedish.c +0 -275
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_swedish.h +0 -6
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_2_hungarian.c +0 -849
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_2_hungarian.h +0 -6
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_2_romanian.c +0 -952
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_2_romanian.h +0 -6
- data/ext/isomorfeus_ferret_ext/stem_KOI8_R_russian.c +0 -669
- data/ext/isomorfeus_ferret_ext/stem_KOI8_R_russian.h +0 -6
- data/ext/isomorfeus_ferret_ext/stem_modules.txt +0 -63
- data/ext/isomorfeus_ferret_ext/uchar-ucs4.rl +0 -1854
- data/ext/isomorfeus_ferret_ext/uchar-utf8.rl +0 -1999
- data/ext/isomorfeus_ferret_ext/url.rl +0 -27
@@ -0,0 +1,84 @@
|
|
1
|
+
|
2
|
+
/*-------------------------------------------------------------*/
|
3
|
+
/*--- Table for randomising repetitive blocks ---*/
|
4
|
+
/*--- randtable.c ---*/
|
5
|
+
/*-------------------------------------------------------------*/
|
6
|
+
|
7
|
+
/* ------------------------------------------------------------------
|
8
|
+
This file is part of bzip2/libbzip2, a program and library for
|
9
|
+
lossless, block-sorting data compression.
|
10
|
+
|
11
|
+
bzip2/libbzip2 version 1.0.8 of 13 July 2019
|
12
|
+
Copyright (C) 1996-2019 Julian Seward <jseward@acm.org>
|
13
|
+
|
14
|
+
Please read the WARNING, DISCLAIMER and PATENTS sections in the
|
15
|
+
README file.
|
16
|
+
|
17
|
+
This program is released under the terms of the license contained
|
18
|
+
in the file LICENSE.
|
19
|
+
------------------------------------------------------------------ */
|
20
|
+
|
21
|
+
|
22
|
+
#include "bzlib_private.h"
|
23
|
+
|
24
|
+
|
25
|
+
/*---------------------------------------------*/
|
26
|
+
Int32 BZ2_rNums[512] = {
|
27
|
+
619, 720, 127, 481, 931, 816, 813, 233, 566, 247,
|
28
|
+
985, 724, 205, 454, 863, 491, 741, 242, 949, 214,
|
29
|
+
733, 859, 335, 708, 621, 574, 73, 654, 730, 472,
|
30
|
+
419, 436, 278, 496, 867, 210, 399, 680, 480, 51,
|
31
|
+
878, 465, 811, 169, 869, 675, 611, 697, 867, 561,
|
32
|
+
862, 687, 507, 283, 482, 129, 807, 591, 733, 623,
|
33
|
+
150, 238, 59, 379, 684, 877, 625, 169, 643, 105,
|
34
|
+
170, 607, 520, 932, 727, 476, 693, 425, 174, 647,
|
35
|
+
73, 122, 335, 530, 442, 853, 695, 249, 445, 515,
|
36
|
+
909, 545, 703, 919, 874, 474, 882, 500, 594, 612,
|
37
|
+
641, 801, 220, 162, 819, 984, 589, 513, 495, 799,
|
38
|
+
161, 604, 958, 533, 221, 400, 386, 867, 600, 782,
|
39
|
+
382, 596, 414, 171, 516, 375, 682, 485, 911, 276,
|
40
|
+
98, 553, 163, 354, 666, 933, 424, 341, 533, 870,
|
41
|
+
227, 730, 475, 186, 263, 647, 537, 686, 600, 224,
|
42
|
+
469, 68, 770, 919, 190, 373, 294, 822, 808, 206,
|
43
|
+
184, 943, 795, 384, 383, 461, 404, 758, 839, 887,
|
44
|
+
715, 67, 618, 276, 204, 918, 873, 777, 604, 560,
|
45
|
+
951, 160, 578, 722, 79, 804, 96, 409, 713, 940,
|
46
|
+
652, 934, 970, 447, 318, 353, 859, 672, 112, 785,
|
47
|
+
645, 863, 803, 350, 139, 93, 354, 99, 820, 908,
|
48
|
+
609, 772, 154, 274, 580, 184, 79, 626, 630, 742,
|
49
|
+
653, 282, 762, 623, 680, 81, 927, 626, 789, 125,
|
50
|
+
411, 521, 938, 300, 821, 78, 343, 175, 128, 250,
|
51
|
+
170, 774, 972, 275, 999, 639, 495, 78, 352, 126,
|
52
|
+
857, 956, 358, 619, 580, 124, 737, 594, 701, 612,
|
53
|
+
669, 112, 134, 694, 363, 992, 809, 743, 168, 974,
|
54
|
+
944, 375, 748, 52, 600, 747, 642, 182, 862, 81,
|
55
|
+
344, 805, 988, 739, 511, 655, 814, 334, 249, 515,
|
56
|
+
897, 955, 664, 981, 649, 113, 974, 459, 893, 228,
|
57
|
+
433, 837, 553, 268, 926, 240, 102, 654, 459, 51,
|
58
|
+
686, 754, 806, 760, 493, 403, 415, 394, 687, 700,
|
59
|
+
946, 670, 656, 610, 738, 392, 760, 799, 887, 653,
|
60
|
+
978, 321, 576, 617, 626, 502, 894, 679, 243, 440,
|
61
|
+
680, 879, 194, 572, 640, 724, 926, 56, 204, 700,
|
62
|
+
707, 151, 457, 449, 797, 195, 791, 558, 945, 679,
|
63
|
+
297, 59, 87, 824, 713, 663, 412, 693, 342, 606,
|
64
|
+
134, 108, 571, 364, 631, 212, 174, 643, 304, 329,
|
65
|
+
343, 97, 430, 751, 497, 314, 983, 374, 822, 928,
|
66
|
+
140, 206, 73, 263, 980, 736, 876, 478, 430, 305,
|
67
|
+
170, 514, 364, 692, 829, 82, 855, 953, 676, 246,
|
68
|
+
369, 970, 294, 750, 807, 827, 150, 790, 288, 923,
|
69
|
+
804, 378, 215, 828, 592, 281, 565, 555, 710, 82,
|
70
|
+
896, 831, 547, 261, 524, 462, 293, 465, 502, 56,
|
71
|
+
661, 821, 976, 991, 658, 869, 905, 758, 745, 193,
|
72
|
+
768, 550, 608, 933, 378, 286, 215, 979, 792, 961,
|
73
|
+
61, 688, 793, 644, 986, 403, 106, 366, 905, 644,
|
74
|
+
372, 567, 466, 434, 645, 210, 389, 550, 919, 135,
|
75
|
+
780, 773, 635, 389, 707, 100, 626, 958, 165, 504,
|
76
|
+
920, 176, 193, 713, 857, 265, 203, 50, 668, 108,
|
77
|
+
645, 990, 626, 197, 510, 357, 358, 850, 858, 364,
|
78
|
+
936, 638
|
79
|
+
};
|
80
|
+
|
81
|
+
|
82
|
+
/*-------------------------------------------------------------*/
|
83
|
+
/*--- end randtable.c ---*/
|
84
|
+
/*-------------------------------------------------------------*/
|
@@ -1,53 +1,53 @@
|
|
1
|
-
/*
|
2
|
-
Copyright: Boaz Segev, 2018-2019
|
3
|
-
License: MIT
|
4
|
-
*/
|
5
|
-
#ifndef H_FIO_TMPFILE_H
|
6
|
-
/** a simple helper to create temporary files and file names */
|
7
|
-
#define H_FIO_TMPFILE_H
|
8
|
-
|
9
|
-
#ifndef _GNU_SOURCE
|
10
|
-
#define _GNU_SOURCE
|
11
|
-
#endif
|
12
|
-
|
13
|
-
#include <stdio.h>
|
14
|
-
#include <stdlib.h>
|
15
|
-
|
16
|
-
#include <fcntl.h>
|
17
|
-
#include <sys/stat.h>
|
18
|
-
#include <sys/types.h>
|
19
|
-
#include <unistd.h>
|
20
|
-
|
21
|
-
#ifdef __MINGW32__
|
22
|
-
#include <fileapi.h>
|
23
|
-
#endif
|
24
|
-
|
25
|
-
static inline int fio_tmpfile(void) {
|
26
|
-
// create a temporary file to contain the data.
|
27
|
-
int fd = 0;
|
28
|
-
#ifdef __MINGW32__
|
29
|
-
char name_template[] = "fio";
|
30
|
-
TCHAR temp_path[(MAX_PATH-14)];
|
31
|
-
TCHAR temp_filename[MAX_PATH];
|
32
|
-
GetTempPath(MAX_PATH - 14, temp_path);
|
33
|
-
GetTempFileNameA(temp_path, name_template, 0, temp_filename);
|
34
|
-
fd = _open(temp_filename, _O_CREAT | _O_RDWR);
|
35
|
-
_chmod(temp_filename, _S_IREAD | _S_IWRITE);
|
36
|
-
#elif defined(P_tmpdir)
|
37
|
-
if (P_tmpdir[sizeof(P_tmpdir) - 1] == '/') {
|
38
|
-
char name_template[] = P_tmpdir "facil_io_tmpfile_XXXXXXXX";
|
39
|
-
fd = mkstemp(name_template);
|
40
|
-
} else {
|
41
|
-
char name_template[] = P_tmpdir "/facil_io_tmpfile_XXXXXXXX";
|
42
|
-
fd = mkstemp(name_template);
|
43
|
-
}
|
44
|
-
#else
|
45
|
-
char name_template[] = "/tmp/facil_io_tmpfile_XXXXXXXX";
|
46
|
-
fd = mkstemp(name_template);
|
47
|
-
#endif
|
48
|
-
return fd;
|
49
|
-
}
|
50
|
-
|
51
|
-
#endif
|
52
|
-
|
53
|
-
|
1
|
+
/*
|
2
|
+
Copyright: Boaz Segev, 2018-2019
|
3
|
+
License: MIT
|
4
|
+
*/
|
5
|
+
#ifndef H_FIO_TMPFILE_H
|
6
|
+
/** a simple helper to create temporary files and file names */
|
7
|
+
#define H_FIO_TMPFILE_H
|
8
|
+
|
9
|
+
#ifndef _GNU_SOURCE
|
10
|
+
#define _GNU_SOURCE
|
11
|
+
#endif
|
12
|
+
|
13
|
+
#include <stdio.h>
|
14
|
+
#include <stdlib.h>
|
15
|
+
|
16
|
+
#include <fcntl.h>
|
17
|
+
#include <sys/stat.h>
|
18
|
+
#include <sys/types.h>
|
19
|
+
#include <unistd.h>
|
20
|
+
|
21
|
+
#ifdef __MINGW32__
|
22
|
+
#include <fileapi.h>
|
23
|
+
#endif
|
24
|
+
|
25
|
+
static inline int fio_tmpfile(void) {
|
26
|
+
// create a temporary file to contain the data.
|
27
|
+
int fd = 0;
|
28
|
+
#ifdef __MINGW32__
|
29
|
+
char name_template[] = "fio";
|
30
|
+
TCHAR temp_path[(MAX_PATH-14)];
|
31
|
+
TCHAR temp_filename[MAX_PATH];
|
32
|
+
GetTempPath(MAX_PATH - 14, temp_path);
|
33
|
+
GetTempFileNameA(temp_path, name_template, 0, temp_filename);
|
34
|
+
fd = _open(temp_filename, _O_CREAT | _O_RDWR);
|
35
|
+
_chmod(temp_filename, _S_IREAD | _S_IWRITE);
|
36
|
+
#elif defined(P_tmpdir)
|
37
|
+
if (P_tmpdir[sizeof(P_tmpdir) - 1] == '/') {
|
38
|
+
char name_template[] = P_tmpdir "facil_io_tmpfile_XXXXXXXX";
|
39
|
+
fd = mkstemp(name_template);
|
40
|
+
} else {
|
41
|
+
char name_template[] = P_tmpdir "/facil_io_tmpfile_XXXXXXXX";
|
42
|
+
fd = mkstemp(name_template);
|
43
|
+
}
|
44
|
+
#else
|
45
|
+
char name_template[] = "/tmp/facil_io_tmpfile_XXXXXXXX";
|
46
|
+
fd = mkstemp(name_template);
|
47
|
+
#endif
|
48
|
+
return fd;
|
49
|
+
}
|
50
|
+
|
51
|
+
#endif
|
52
|
+
|
53
|
+
|