--- rpl/src/instructions_s2.c 2010/02/26 19:22:05 1.4 +++ rpl/src/instructions_s2.c 2010/02/27 12:39:27 1.5 @@ -1127,9 +1127,29 @@ instruction_str_fleche(struct_processus if (presence_chaine == d_vrai) { - if ((*ptr_l) == '\\') + switch(*ptr_l) { - nombre_caracteres_supplementaires++; + case '\\': + case '\t': + case '\b': + case '\n': + { + nombre_caracteres_supplementaires++; + break; + } + } + } + else + { + switch(*ptr_l) + { + case '\n': + case '\b': + case '\t': + { + nombre_caracteres_supplementaires--; + break; + } } } @@ -1163,9 +1183,47 @@ instruction_str_fleche(struct_processus if (presence_chaine == d_vrai) { - if ((*ptr_l) == '\\') + switch(*ptr_l) + { + case '\\': + { + (*(++ptr_e)) = '\\'; + break; + } + + case '\t': + { + (*ptr_e) = '\\'; + (*(++ptr_e)) = 't'; + break; + } + + case '\b': + { + (*ptr_e) = '\\'; + (*(++ptr_e)) = 'b'; + break; + } + + case '\n': + { + (*ptr_e) = '\\'; + (*(++ptr_e)) = 'n'; + break; + } + } + } + else + { + switch(*ptr_l) { - (*(++ptr_e)) = '\\'; + case '\n': + case '\b': + case '\t': + { + ptr_e--; + break; + } } }