File: NSString%2Bwchar.m

package info (click to toggle)
mediainfo 25.04-1
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 17,124 kB
  • sloc: cpp: 18,542; objc: 3,089; sh: 1,417; xml: 1,268; python: 319; makefile: 214; perl: 207
file content (26 lines) | stat: -rw-r--r-- 831 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
/*  Copyright (c) MediaArea.net SARL. All Rights Reserved.
 *
 *  Use of this source code is governed by a BSD-style license that can
 *  be found in the License.html file in the root of the source tree.
 */

//  Created by Max Pozdeev on 20.06.11.

#import "NSString+wchar.h"
#include "wchar.h"

#define WCHAR_4BYTE_ENCODING NSUTF32LittleEndianStringEncoding

@implementation NSString (NSString_wchar)

+ (NSString*) stringFromWCHAR:(const wchar_t*) inStr {
	return [[[NSString alloc] initWithBytes:(char*)inStr length:wcslen(inStr)*4 encoding:WCHAR_4BYTE_ENCODING] autorelease];
}

- (const wchar_t *) WCHARString {
	NSMutableData *data = [NSMutableData dataWithData:[self dataUsingEncoding:WCHAR_4BYTE_ENCODING]];
	[data setLength:[data length] + 4]; //add 4 null-terminating bytes
	return (const wchar_t*)[data bytes];
}

@end