• Join/Login
  • Business Software
  • Open Source Software
  • For Vendors
  • Blog
  • About
  • More
    • Articles
    • Create
    • SourceForge Podcast
    • Site Documentation
    • Subscribe to our Newsletter
    • Support Request
SourceForge logo
For Vendors Help Create Join Login
SourceForge logo
Business Software
Open Source Software
SourceForge Podcast
Resources
  • Articles
  • Case Studies
  • Blog
Menu
  • Help
  • Create
  • Join
  • Login
  • Home
  • Browse
  • FMSLogo
  • Code
FMSLogo

FMSLogo Code

A Logo programming environment for Microsoft Windows

Brought to you by: david_costanzo
  • Summary
  • Files
  • Reviews
  • Support
  • Tickets ▾
    • Feature Requests
    • Bugs
    • Support Requests
  • Discussion
  • Code
Menu ▾ ▴
 
  • Browse Commits
  • Browse Files

Commit [r6220]  Maximize  Restore  History

Finish fixing Bug #616 (Empty words created by DLLCALL now act like the empty word).

The earlier fix missed that ldllcall() converts the buffers from Unicode to bytes after the function call.
This would have been okay except for two things. First, Null_Word is not a STRING but CASEOBJ and so
getstrptr returns something that was not intended to be a string pointer. Second, there's an off-by-one
in this conversion logic modifies one byte more than the length. This was previously safe because
make_buffer allocates one more character than needed to pad it with a NUL character, but is not safe for
Null_Word where getstrptr returns a pointer to who-knows-what?

The follow-up fix is to skip the Unicode-to-byte translation if the buffer NODE* is Null_Word.

david_costanzo 2026-05-25

Browse code at this revision

Parent: [r6219]

Child: [r6221]

changed /logo/trunk/src/dllwind.cpp
changed /logo/trunk/src/test/dll.lgo
changed /logo/trunk/src/test/testlog.baseline.txt
/logo/trunk/src/dllwind.cpp Diff Switch to side-by-side view
Loading...
/logo/trunk/src/test/dll.lgo Diff Switch to side-by-side view
Loading...
/logo/trunk/src/test/testlog.baseline.txt Diff Switch to side-by-side view
Loading...
SourceForge
  • Create a Project
  • Open Source Software
  • Business Software
  • Top Downloaded Projects
Company
  • About
  • Team
  • SourceForge Headquarters
    1320 Columbia Street Suite 310
    San Diego, CA 92101
    +1 (858) 422-6466
Resources
  • Support
  • Site Documentation
  • Site Status
  • SourceForge Reviews
SourceForge logo
© 2026 Slashdot Media. All Rights Reserved.
Terms Privacy Opt Out Advertise
mdb logo