<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic strlen returning -1 for a valid string in LPCXpresso IDE</title>
    <link>https://community.nxp.com/t5/LPCXpresso-IDE/strlen-returning-1-for-a-valid-string/m-p/583591#M25925</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by NZSmartie on Mon Nov 26 20:38:34 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hey guys,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;recently with my application, I've loaded my companies IAP Bootloader which has shifted my program up about 64KB in the flash.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I've using a LPC1758 and I'm using Red suite 4 (NXP Edition) 512K &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The problem I'm having is I have a set of strings in an array, as I iterate through the array, strlen is used on all strings and passed to the UART.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;after hitting the 3rd string in the array, strlen returns -1. I'm not sure why it happens. When debugging, the string is displayed in the watch without problems.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I've set up a if statement for the -1, and to print out the string using:&lt;/SPAN&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;sprintf(UBuf,"Some how got %d from '%s'",i,ptr);&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;&lt;SPAN&gt;where &lt;/SPAN&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;i = strlen(ptr);&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;&lt;SPAN&gt;and ptr is a string from the array.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;In my serial console, i see:&lt;/SPAN&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;Some how got -1 from ' '&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Does the string functions fail if the pointers are too high in the memory?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I can't find any useful information regarding this.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;When debugging, ptr = 0x318CC; and is 14 chars in length;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I'm using Redlib no-host, and I'm managing my own linker scripts&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Cheers&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Roman&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 16 Jun 2016 01:16:49 GMT</pubDate>
    <dc:creator>lpcware</dc:creator>
    <dc:date>2016-06-16T01:16:49Z</dc:date>
    <item>
      <title>strlen returning -1 for a valid string</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/strlen-returning-1-for-a-valid-string/m-p/583591#M25925</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by NZSmartie on Mon Nov 26 20:38:34 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hey guys,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;recently with my application, I've loaded my companies IAP Bootloader which has shifted my program up about 64KB in the flash.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I've using a LPC1758 and I'm using Red suite 4 (NXP Edition) 512K &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The problem I'm having is I have a set of strings in an array, as I iterate through the array, strlen is used on all strings and passed to the UART.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;after hitting the 3rd string in the array, strlen returns -1. I'm not sure why it happens. When debugging, the string is displayed in the watch without problems.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I've set up a if statement for the -1, and to print out the string using:&lt;/SPAN&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;sprintf(UBuf,"Some how got %d from '%s'",i,ptr);&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;&lt;SPAN&gt;where &lt;/SPAN&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;i = strlen(ptr);&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;&lt;SPAN&gt;and ptr is a string from the array.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;In my serial console, i see:&lt;/SPAN&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;Some how got -1 from ' '&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Does the string functions fail if the pointers are too high in the memory?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I can't find any useful information regarding this.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;When debugging, ptr = 0x318CC; and is 14 chars in length;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I'm using Redlib no-host, and I'm managing my own linker scripts&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Cheers&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Roman&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 01:16:49 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/strlen-returning-1-for-a-valid-string/m-p/583591#M25925</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T01:16:49Z</dc:date>
    </item>
  </channel>
</rss>

