Line data Source code
1 : /*
2 : Unix SMB/CIFS implementation.
3 : Samba utility functions
4 : Copyright (C) Ralph Boehme 2019
5 :
6 : This program is free software; you can redistribute it and/or modify
7 : it under the terms of the GNU General Public License as published by
8 : the Free Software Foundation; either version 3 of the License, or
9 : (at your option) any later version.
10 :
11 : This program is distributed in the hope that it will be useful,
12 : but WITHOUT ANY WARRANTY; without even the implied warranty of
13 : MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 : GNU General Public License for more details.
15 :
16 : You should have received a copy of the GNU General Public License
17 : along with this program. If not, see <http://www.gnu.org/licenses/>.
18 : */
19 :
20 : #include "includes.h"
21 : #include "MacExtensions.h"
22 : #include "util_macstreams.h"
23 :
24 : /* Yes, I have considered multibyte */
25 : #undef strncasecmp
26 :
27 0 : bool is_afpinfo_stream(const char *sname)
28 : {
29 : int cmp;
30 :
31 0 : if (sname == NULL) {
32 0 : return false;
33 : }
34 :
35 0 : cmp = strncasecmp(sname,
36 : AFPINFO_STREAM_NAME,
37 : strlen(AFPINFO_STREAM_NAME));
38 0 : if (cmp == 0) {
39 0 : return true;
40 : }
41 0 : return false;
42 : }
43 :
44 0 : bool is_afpresource_stream(const char *sname)
45 : {
46 : int cmp;
47 :
48 0 : if (sname == NULL) {
49 0 : return false;
50 : }
51 :
52 0 : cmp = strncasecmp(sname,
53 : AFPRESOURCE_STREAM_NAME,
54 : strlen(AFPRESOURCE_STREAM_NAME));
55 0 : if (cmp == 0) {
56 0 : return true;
57 : }
58 0 : return false;
59 : }
60 :
61 : /**
62 : * Test whether stream is an Apple stream.
63 : **/
64 0 : bool is_apple_stream(const char *sname)
65 : {
66 0 : if (is_afpinfo_stream(sname)) {
67 0 : return true;
68 : }
69 0 : if (is_afpresource_stream(sname)) {
70 0 : return true;
71 : }
72 0 : return false;
73 : }
|