Skip to content
This repository was archived by the owner on Aug 31, 2021. It is now read-only.

Commit e9eeb1b

Browse files
[[ LinuxServer ]] Reimplemented MCVariableValue::encode/decode for MCVariable
[[ Refactor ]] Changed MCS_fakeopen signature to be get rid of the old MCString
1 parent d9928bf commit e9eeb1b

16 files changed

+367
-27
lines changed

Server.files

Lines changed: 208 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -209,6 +209,214 @@ engine/src/lnxelevate.cpp
209209
engine/src/opensslsocket.cpp
210210
engine/src/foundation-legacy.cpp
211211

212+
engine/src/aclip.h
213+
engine/src/ans.h
214+
engine/src/answer.h
215+
engine/src/ask.h
216+
engine/src/bitmapeffectblur.h
217+
engine/src/bitmapeffect.h
218+
engine/src/bsdiff.h
219+
engine/src/button.h
220+
engine/src/capsule.h
221+
engine/src/card.h
222+
engine/src/cardlst.h
223+
engine/src/cdata.h
224+
engine/src/chunk.h
225+
engine/src/cmds.h
226+
engine/src/constant.h
227+
engine/src/context.h
228+
engine/src/control.h
229+
engine/src/cpalette.h
230+
engine/src/datastructures.h
231+
engine/src/date.h
232+
engine/src/debug.h
233+
engine/src/deploy.h
234+
engine/src/deploysecurity.h
235+
engine/src/dispatch.h
236+
engine/src/dllst.h
237+
engine/src/edittool.h
238+
engine/src/eps.h
239+
engine/src/eventqueue.h
240+
engine/src/exec-context.h
241+
engine/src/exec.h
242+
engine/src/exec-interface.h
243+
engine/src/exec-keywords.h
244+
engine/src/execpt.h
245+
engine/src/exec-strings.h
246+
engine/src/executionerrors.h
247+
engine/src/express.h
248+
engine/src/external.h
249+
engine/src/fiber.h
250+
engine/src/field.h
251+
engine/src/filedefs.h
252+
engine/src/flst.h
253+
engine/src/font.h
254+
engine/src/foundation-legacy.h
255+
engine/src/funcs.h
256+
engine/src/globals.h
257+
engine/src/globdefs.h
258+
engine/src/gradient.h
259+
engine/src/graphic.h
260+
engine/src/graphicscontext.h
261+
engine/src/graphics_util.h
262+
engine/src/group.h
263+
engine/src/handler.h
264+
engine/src/hc.h
265+
engine/src/hndlrlst.h
266+
engine/src/ide.h
267+
engine/src/imagebitmap.h
268+
engine/src/image.h
269+
engine/src/imagelist.h
270+
engine/src/image_rep.h
271+
engine/src/internal.h
272+
engine/src/iquantization.h
273+
engine/src/keywords.h
274+
engine/src/license.h
275+
engine/src/line.h
276+
engine/src/literal.h
277+
engine/src/lnxans.h
278+
engine/src/lnxaudio.h
279+
engine/src/lnxcontext.h
280+
engine/src/lnxdc.h
281+
engine/src/lnxdnd.h
282+
engine/src/lnxflst.h
283+
engine/src/lnxgtkthemedrawing.h
284+
engine/src/lnximagecache.h
285+
engine/src/lnxmplayer.h
286+
engine/src/lnxpasteboard.h
287+
engine/src/lnxprefix.h
288+
engine/src/lnxpsprinter.h
289+
engine/src/lnxtheme.h
290+
engine/src/lnxtransfer.h
291+
engine/src/magnify.h
292+
engine/src/mblad.h
293+
engine/src/mblandroidcontrol.h
294+
engine/src/mblandroid.h
295+
engine/src/mblandroidjava.h
296+
engine/src/mblandroidtypeface.h
297+
engine/src/mblandroidutil.h
298+
engine/src/mblcalendar.h
299+
engine/src/mblcontact.h
300+
engine/src/mblcontrol.h
301+
engine/src/mbldc.h
302+
engine/src/mblevent.h
303+
engine/src/mblflst.h
304+
engine/src/mbliphoneapp.h
305+
engine/src/mbliphonecontext.h
306+
engine/src/mbliphonecontrol.h
307+
engine/src/mbliphone.h
308+
engine/src/mbliphoneview.h
309+
engine/src/mblnotification.h
310+
engine/src/mblsensor.h
311+
engine/src/mblstore.h
312+
engine/src/mblsyntax.h
313+
engine/src/MCBlock.h
314+
engine/src/mcerror.h
315+
engine/src/mcio.h
316+
engine/src/mcssl.h
317+
engine/src/mcstring.h
318+
engine/src/mctheme.h
319+
engine/src/mcutility.h
320+
engine/src/md5.h
321+
engine/src/menuparse.h
322+
engine/src/metacontext.h
323+
engine/src/meta.h
324+
engine/src/minizip.h
325+
engine/src/mode.h
326+
engine/src/name.h
327+
engine/src/newobj.h
328+
engine/src/notify.h
329+
engine/src/objdefs.h
330+
engine/src/object.h
331+
engine/src/objectpropsets.h
332+
engine/src/objectstream.h
333+
engine/src/objptr.h
334+
engine/src/operator.h
335+
engine/src/osspec.h
336+
engine/src/osxcontext.h
337+
engine/src/osxdc.h
338+
engine/src/osxflst.h
339+
engine/src/osxprefix.h
340+
engine/src/osxprefix-legacy.h
341+
engine/src/osxprinter.h
342+
engine/src/osxtheme.h
343+
engine/src/osxtransfer.h
344+
engine/src/packed.h
345+
engine/src/paint.h
346+
engine/src/paragraf.h
347+
engine/src/paragraph.h
348+
engine/src/param.h
349+
engine/src/parentscript.h
350+
engine/src/parsedef.h
351+
engine/src/parseerrors.h
352+
engine/src/path.h
353+
engine/src/pathprivate.h
354+
engine/src/player.h
355+
engine/src/prefix.h
356+
engine/src/printer.h
357+
engine/src/property.h
358+
engine/src/rawarray.h
359+
engine/src/redraw.h
360+
engine/src/regex.h
361+
engine/src/region.h
362+
engine/src/resolution.h
363+
engine/src/resource.h
364+
engine/src/revolution.h
365+
engine/src/rtf.h
366+
engine/src/scriptenvironment.h
367+
engine/src/scriptpt.h
368+
engine/src/scrolbar.h
369+
engine/src/securemode.h
370+
engine/src/segment.h
371+
engine/src/sellst.h
372+
engine/src/sha1.h
373+
engine/src/socket.h
374+
engine/src/srvcgi.h
375+
engine/src/srvdbgvar.h
376+
engine/src/srvdebug.h
377+
engine/src/srvflst.h
378+
engine/src/srvmain.h
379+
engine/src/srvmultipart.h
380+
engine/src/srvscript.h
381+
engine/src/srvsession.h
382+
engine/src/stack.h
383+
engine/src/stacklst.h
384+
engine/src/stacksecurity.h
385+
engine/src/statemnt.h
386+
engine/src/styledtext.h
387+
engine/src/syntax.h
388+
engine/src/sysdefs.h
389+
engine/src/sysposix.h
390+
engine/src/system.h
391+
engine/src/textbuffer.h
392+
engine/src/text.h
393+
engine/src/textlayout.h
394+
engine/src/tilecache.h
395+
engine/src/tooltip.h
396+
engine/src/transfer.h
397+
engine/src/typedefs.h
398+
engine/src/uidc.h
399+
engine/src/undolst.h
400+
engine/src/unicode.h
401+
engine/src/util.h
402+
engine/src/uuid.h
403+
engine/src/variable.h
404+
engine/src/variable_impl.h
405+
engine/src/vclip.h
406+
engine/src/visualeffect.h
407+
engine/src/visual.h
408+
engine/src/w32context.h
409+
engine/src/w32dc.h
410+
engine/src/w32defs.h
411+
engine/src/w32dnd.h
412+
engine/src/w32dsk-legacy.h
413+
engine/src/w32flst.h
414+
engine/src/w32prefix.h
415+
engine/src/w32printer.h
416+
engine/src/w32text.h
417+
engine/src/w32theme.h
418+
engine/src/w32transfer.h
419+
212420

213421
libfoundation/include/foundation-auto.h
214422
libfoundation/include/foundation-inline.h
@@ -254,6 +462,3 @@ rules/common.linux.makefile
254462
rules/archive.linux.makefile
255463
rules/application.linux.makefile
256464
libfoundation/Makefile
257-
engine/src/srvlnx.cpp
258-
engine/src/sysposix.cpp
259-
engine/src/sysposix.h

engine/src/capsule.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -782,7 +782,7 @@ bool MCCapsuleProcess(MCCapsuleRef self)
782782
{
783783
// If we haven't got all the data, then we have all data buffered
784784
// so can use a regular variety fake stream.
785-
t_stream = MCS_fakeopen(MCString((const char *)self -> output_buffer + t_header_size, t_length));
785+
t_stream = MCS_fakeopen((const char *)self -> output_buffer + t_header_size, t_length);
786786
}
787787
else
788788
{

engine/src/cmdss.cpp

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -520,8 +520,11 @@ MCStack *MCGo::findstack(MCExecContext &ctxt, MCStringRef p_value, Chunk_term et
520520
uint4 offset;
521521
if (MCStringFirstIndexOf(p_value, MCSTR(SIGNATURE), 0, kMCCompareExact, offset)
522522
|| (MCStringGetLength(p_value) > 8 && MCStringBeginsWithCString(p_value, (char_t*)"REVO", kMCCompareExact)))
523-
{
524-
IO_handle stream = MCS_fakeopen(MCStringGetOldString(p_value));
523+
{
524+
char_t* t_cstring_value;
525+
uindex_t t_length;
526+
/* UNCHECKED */ MCStringConvertToNative(p_value, t_cstring_value, t_length);
527+
IO_handle stream = MCS_fakeopen(t_cstring_value, t_length);
525528
if (MCdispatcher->readfile(NULL, NULL, stream, sptr) != IO_NORMAL)
526529
{
527530
MCS_close(stream);

engine/src/exec-array.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -652,7 +652,7 @@ void MCArraysEvalArrayDecode(MCExecContext& ctxt, MCDataRef p_encoding, MCArrayR
652652
t_stream_handle = nil;
653653
if (t_success)
654654
{
655-
t_stream_handle = MCS_fakeopen(MCDataGetOldString(p_encoding));
655+
t_stream_handle = MCS_fakeopen(MCDataGetBytePtr(p_encoding), MCDataGetLength(p_encoding));
656656
if (t_stream_handle == nil)
657657
t_success = false;
658658
}

engine/src/exec-interface-image.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -375,7 +375,7 @@ void MCImage::SetText(MCExecContext& ctxt, MCDataRef p_text)
375375
else
376376
{
377377
if (t_success)
378-
t_success = nil != (t_stream = MCS_fakeopen(MCString((const char *)MCDataGetBytePtr(p_text), MCDataGetLength(p_text))));
378+
t_success = nil != (t_stream = MCS_fakeopen(MCDataGetBytePtr(p_text), MCDataGetLength(p_text)));
379379
if (t_success)
380380
t_success = MCImageImport(t_stream, nil, t_hotspot, t_name, t_compressed, t_bitmap);
381381
if (t_success)
@@ -714,4 +714,4 @@ void MCImage::SetVisible(MCExecContext& ctxt, uinteger_t part, bool setting)
714714
void MCImage::SetInvisible(MCExecContext& ctxt, uinteger_t part, bool setting)
715715
{
716716
SetVisibility(ctxt, part, setting, false);
717-
}
717+
}

engine/src/exec-interface2.cpp

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2300,7 +2300,10 @@ static MCStack *MCInterfaceTryToEvalBinaryStack(MCStringRef p_data, bool& r_bina
23002300

23012301
if (MCStringFirstIndexOf(p_data, MCSTR(SIGNATURE), 0, kMCCompareExact, offset) && (MCStringGetLength(p_data) > 8 && MCStringBeginsWithCString(p_data, (const char_t *)"REVO", kMCCompareExact)))
23022302
{
2303-
IO_handle stream = MCS_fakeopen(MCStringGetOldString(p_data));
2303+
char_t* t_string;
2304+
uindex_t t_length;
2305+
/* UNCHECKED */ MCStringConvertToNative(p_data, t_string, t_length);
2306+
IO_handle stream = MCS_fakeopen(t_string, t_length);
23042307
/* UNCHECKED */ MCdispatcher->readfile(NULL, NULL, stream, t_stack);
23052308
MCS_close(stream);
23062309
t_binary_fail = t_stack == nil;

engine/src/exec-multimedia.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -492,7 +492,7 @@ void MCMultimediaExecPlayAudioClip(MCExecContext& ctxt, MCStack *p_target, int p
492492
return;
493493
}
494494
/* UNCHECKED */ ctxt . ConvertToData(*t_url, &t_data);
495-
stream = MCS_fakeopen(MCDataGetOldString(*t_data));
495+
stream = MCS_fakeopen(MCDataGetBytePtr(*t_data), MCDataGetLength(*t_data));
496496
}
497497
MCacptr = new MCAudioClip;
498498
MCacptr->setdisposable();

engine/src/ifile.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ bool MCImageDecompress(MCImageCompressedBitmap *p_compressed, MCImageFrame *&r_f
117117

118118
// create stream for non-rle compressed images
119119
if (t_success && p_compressed->compression != F_RLE)
120-
t_success = nil != (t_stream = MCS_fakeopen(MCString((const char *)p_compressed -> data, p_compressed -> size)));
120+
t_success = nil != (t_stream = MCS_fakeopen((const char *)p_compressed -> data, p_compressed -> size));
121121

122122
if (t_success)
123123
{

engine/src/iimport.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -194,7 +194,7 @@ bool MCImageDecode(const uint8_t *p_data, uindex_t p_size, MCImageFrame *&r_fram
194194
IO_handle t_stream = nil;
195195

196196
if (t_success)
197-
t_success = nil != (t_stream = MCS_fakeopen(MCString((const char *)p_data, p_size)));
197+
t_success = nil != (t_stream = MCS_fakeopen((const char *)p_data, p_size));
198198

199199
if (t_success)
200200
t_success = MCImageDecode(t_stream, r_frames, r_frame_count);

engine/src/image_rep_encoded.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -178,7 +178,7 @@ bool MCReferencedImageRep::GetDataStream(IO_handle &r_stream)
178178
/* UNCHECKED */ MCMemoryAllocateCopy(MCDataGetBytePtr(*t_dataref), MCDataGetLength(*t_dataref), m_url_data);
179179
m_url_data_size = MCDataGetLength(*t_dataref);
180180

181-
t_stream = MCS_fakeopen(MCString((const char *)m_url_data, m_url_data_size));
181+
t_stream = MCS_fakeopen((const char *)m_url_data, m_url_data_size);
182182
}
183183

184184
if (t_stream != nil)
@@ -202,7 +202,7 @@ MCResidentImageRep::~MCResidentImageRep()
202202

203203
bool MCResidentImageRep::GetDataStream(IO_handle &r_stream)
204204
{
205-
r_stream = MCS_fakeopen(MCString((const char *)m_data, m_size));
205+
r_stream = MCS_fakeopen((const char *)m_data, m_size);
206206
return r_stream != nil;
207207
}
208208

@@ -240,7 +240,7 @@ bool MCVectorImageRep::CalculateGeometry(uindex_t &r_width, uindex_t &r_height)
240240

241241
IO_handle t_stream = nil;
242242
if (t_success)
243-
t_success = nil != (t_stream = MCS_fakeopen(MCString((const char *)m_data, m_size)));
243+
t_success = nil != (t_stream = MCS_fakeopen((const char *)m_data, m_size));
244244

245245
if (t_success)
246246
t_success = MCImageGetMetafileGeometry(t_stream, r_width, r_height);

0 commit comments

Comments
 (0)