Report abuse
ERROR MESSAGE GENERATED BY GCC:
mysql.c: In function ‘escape_string’:
mysql.c:295: error: lvalue required as left operand of assignment
mysql.c:295: error: lvalue required as left operand of assignment
mysql.c: In function ‘real_escape_string’:
mysql.c:433: error: lvalue required as left operand of assignment
mysql.c:433: error: lvalue required as left operand of assignment
make: *** [mysql.o] Error 1
========================================
ERROR MESSAGE GENERATED BY CLANG:
rb_str_set_len(ret, mysql_escape_string(RSTRING_PTR(ret), RSTRING_PTR(str), RSTRING_LEN(str)));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mysql.c:16:55: note: instantiated from:
#define rb_str_set_len(str, length) (RSTRING_LEN(str) = (length))
^
mysql.c:434:5: error: expression is not assignable
rb_str_set_len(ret, mysql_real_escape_string(m, RSTRING_PTR(ret), RSTRING_PTR(str), RSTRING_LEN(str)));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mysql.c:16:55: note: instantiated from:
#define rb_str_set_len(str, length) (RSTRING_LEN(str) = (length))
========================================
LINE GENERATING THE ERROR:
rb_str_set_len(ret, mysql_escape_string(RSTRING_PTR(ret), RSTRING_PTR(str), RSTRING_LEN(str)));
========================================
POSSIBLY RELEVANT CODE FROM MYSQL.C:
#ifndef RSTRING_PTR
#define RSTRING_PTR(str) RSTRING(str)->ptr
#endif
#ifndef RSTRING_LEN
#define RSTRING_LEN(str) RSTRING(str)->len
#endif
#ifndef RARRAY_PTR
#define RARRAY_PTR(ary) RARRAY(ary)->ptr
#endif
#ifndef HAVE_RB_STR_SET_LEN
#define rb_str_set_len(str, length) (RSTRING_LEN(str) = (length))
#endif