if ((error < 0) || (error >= (sizeof(messages) / sizeof(messages[0]))))
if ((error < 0) || (error >= (int)(sizeof(messages) / sizeof(messages[0]))))
embryo_error_string_get(int error){   const char *messages[] =     {	/* EMBRYO_ERROR_NONE      */ "(none)",	  /* EMBRYO_ERROR_EXIT      */ "Forced exit",	  /* EMBRYO_ERROR_ASSERT    */ "Assertion failed",	  /* EMBRYO_ERROR_STACKERR  */ "Stack/heap collision (insufficient stack size)",	  /* EMBRYO_ERROR_BOUNDS    */ "Array index out of bounds",	  /* EMBRYO_ERROR_MEMACCESS */ "Invalid memory access",	  /* EMBRYO_ERROR_INVINSTR  */ "Invalid instruction",	  /* EMBRYO_ERROR_STACKLOW  */ "Stack underflow",	  /* EMBRYO_ERROR_HEAPLOW   */ "Heap underflow",	  /* EMBRYO_ERROR_CALLBACK  */ "No (valid) native function callback",	  /* EMBRYO_ERROR_NATIVE    */ "Native function failed",	  /* EMBRYO_ERROR_DIVIDE    */ "Divide by zero",	  /* EMBRYO_ERROR_SLEEP     */ "(sleep mode)",	  /* 13 */                     "(reserved)",	  /* 14 */                     "(reserved)",	  /* 15 */                     "(reserved)",	  /* EMBRYO_ERROR_MEMORY    */ "Out of memory",	  /* EMBRYO_ERROR_FORMAT    */ "Invalid/unsupported P-code file format",	  /* EMBRYO_ERROR_VERSION   */ "File is for a newer version of the Embryo_Program",	  /* EMBRYO_ERROR_NOTFOUND  */ "Native/Public function is not found",	  /* EMBRYO_ERROR_INDEX     */ "Invalid index parameter (bad entry point)",	  /* EMBRYO_ERROR_DEBUG     */ "Debugger cannot run",	  /* EMBRYO_ERROR_INIT      */ "Embryo_Program not initialized (or doubly initialized)",	  /* EMBRYO_ERROR_USERDATA  */ "Unable to set user data field (table full)",	  /* EMBRYO_ERROR_INIT_JIT  */ "Cannot initialize the JIT",	  /* EMBRYO_ERROR_PARAMS    */ "Parameter error",     };   if ((error < 0) || (error >= (sizeof(messages) / sizeof(messages[0]))))     return (const char *)"(unknown)";   return messages[error];}