ObjFW  Diff

Differences From Artifact [cffef7d468]:

To Artifact [441ab9ee19]:


56
57
58
59
60
61
62
63

64
65
66
67
68
69
70
56
57
58
59
60
61
62

63
64
65
66
67
68
69
70







-
+







				[super free];
				return nil;
			}

			string = [self getMemForNItems: length + 1
						ofSize: sizeof(wchar_t)];

			if (mbstowcs(string, str, length) != length) {
			if (mbstowcs(string, str, length + 1) != length) {
				[super free];
				return nil;
			}
		}
	}

	return self;
93
94
95
96
97
98
99
100

101
102

103
104
105
106
107
108
109
93
94
95
96
97
98
99

100
101

102
103
104
105
106
107
108
109







-
+

-
+







	size_t len;

	if ((len = wcstombs(NULL, string, 0)) == (size_t)-1) {
		/* FIXME: Throw exception */
		return NULL;
	}

	str = [self getMemWithSize: len];
	str = [self getMemWithSize: len + 1];

	if (wcstombs(str, string, len) != len) {
	if (wcstombs(str, string, len + 1) != len) {
		/* FIXME: Throw exception */
		[self freeMem: str];
		return NULL;
	}

	return str;
}