lib: Simplify copy_unix_token()
[samba.git] / source3 / lib / util_macstreams.c
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 bool is_afpinfo_stream(const char *sname)
28 {
29         int cmp;
30
31         if (sname == NULL) {
32                 return false;
33         }
34
35         cmp = strncasecmp(sname,
36                           AFPINFO_STREAM_NAME,
37                           strlen(AFPINFO_STREAM_NAME));
38         if (cmp == 0) {
39                 return true;
40         }
41         return false;
42 }
43
44 bool is_afpresource_stream(const char *sname)
45 {
46         int cmp;
47
48         if (sname == NULL) {
49                 return false;
50         }
51
52         cmp = strncasecmp(sname,
53                           AFPRESOURCE_STREAM_NAME,
54                           strlen(AFPRESOURCE_STREAM_NAME));
55         if (cmp == 0) {
56                 return true;
57         }
58         return false;
59 }
60
61 /**
62  * Test whether stream is an Apple stream.
63  **/
64 bool is_apple_stream(const char *sname)
65 {
66         if (is_afpinfo_stream(sname)) {
67                 return true;
68         }
69         if (is_afpresource_stream(sname)) {
70                 return true;
71         }
72         return false;
73 }