--- rpl/src/instructions_r4.c 2023/11/24 10:48:21 1.118 +++ rpl/src/instructions_r4.c 2023/11/27 13:56:46 1.120 @@ -3700,22 +3700,44 @@ instruction_read(struct_processus *s_eta if (longueur_effective == longueur_questure) { + trame_complete = d_faux; free(tampon_lecture); - longueur_questure *= 2; + + // Taille standard des jumbo frames + if (longueur_questure <= 9000) + { + longueur_questure *= 2; + } + else + { + longueur_questure += 9000; + } } - } while(longueur_effective == longueur_questure); + else + { + trame_complete = d_vrai; + } + } while(trame_complete == d_faux); longueur_enregistrement = 1; for(i = 0; i < longueur_effective; i++) { - if (isprint(tampon_lecture[i]) != 0) + if (isprint(tampon_lecture[i]) == 0) { longueur_enregistrement += 4; } else { - longueur_enregistrement++; + if ((tampon_lecture[i] == '"') || + (tampon_lecture[i] == '"')) + { + longueur_enregistrement += 2; + } + else + { + longueur_enregistrement++; + } } } @@ -3742,8 +3764,19 @@ instruction_read(struct_processus *s_eta { if (isprint(tampon_lecture[i]) != 0) { - (*ptr) = tampon_lecture[i]; - ptr++; + if ((tampon_lecture[i] == '"') || + (tampon_lecture[i] == '"')) + { + (*ptr) = '\\'; + ptr++; + (*ptr) = tampon_lecture[i]; + ptr++; + } + else + { + (*ptr) = tampon_lecture[i]; + ptr++; + } } else {