/* Helper functions to find the end of a string  */
static char* __strend(const char *s)
/* Helper functions to find the end of a string  */
static char* __strend(const char *s)
{
	register unsigned long r0 asm("0") = 0;
	asm volatile ("0: srst  %0,%1\n"
		      "   jo    0b"
		      : "+d" (r0), "+a" (s) :  : "cc" );
	return (char *) r0;
}