After what seems to be forever, I finally got a working example of having a product delivered to me. I’ve been going through a bit tonight with the common bugs.
The first is an issue that I keep running into with data comming from websites. Most websites and form data will encode the space character as a plus sign “+”. The method to unescape encoded data in LSL scripts does not handle this plus sign, so I’ll often get results with a lot of plus signs between words instead of spaces. I’ve reported this as a bug, so feel free to vote for [SVC-4900] – llUnescapeURL does not unescape + character. To get around this problem, I first carry out string replacement before I unescape the data.
One of my big pet peeves with LSL is the lack of a string replacement method such as llReplaceString(text, pattern, replacement). Please vote on [SVC-1085] Provide a string replacement function in LSL. I’m still a bit shocked that so many years have gone on to this seemingly simple request. I’ve worked with many programming languages both compiled and simple scripts. I have never known any to lack such a fundamental feature until I started working with LSL. To work around this problem, a lot of folks created different methods to simulate string replacement. The main replacement function used uses lists, and ends up using quite a bit of memory. However, it is the quickest way.
Now that I have a delivery system, I need to work on streamlining it to cut down on memory, speed, and complexity while improving security.