View | Details | Raw Unified | Return to bug 113343
Collapse All | Expand All

(-)gnu/usr.bin/grep/search.c (-9 / +22 lines)
Lines 400-408 Link Here
400
			}
400
			}
401
401
402
		      if (mlen == (size_t) -2)
402
		      if (mlen == (size_t) -2)
403
			/* Offset points inside multibyte character:
403
			{
404
			 * no good. */
404
			  /* Offset points inside multibyte character:
405
			break;
405
			   * no good. */
406
			  memset (&mbs, '\0', sizeof (mbstate_t));
407
			  break;
408
			}
406
409
407
		      beg += mlen;
410
		      beg += mlen;
408
		      bytes_left -= mlen;
411
		      bytes_left -= mlen;
Lines 462-470 Link Here
462
			}
465
			}
463
466
464
		      if (mlen == (size_t) -2)
467
		      if (mlen == (size_t) -2)
465
			/* Offset points inside multibyte character:
468
			{
466
			 * no good. */
469
			  /* Offset points inside multibyte character:
467
			break;
470
			   * no good. */
471
			  memset (&mbs, '\0', sizeof (mbstate_t));
472
			  break;
473
			}
468
474
469
		      beg += mlen;
475
		      beg += mlen;
470
		      bytes_left -= mlen;
476
		      bytes_left -= mlen;
Lines 925-939 Link Here
925
		}
931
		}
926
932
927
	      if (mlen == (size_t) -2)
933
	      if (mlen == (size_t) -2)
928
		/* Offset points inside multibyte character: no good. */
934
		{
929
		break;
935
		  /* Offset points inside multibyte character: no good. */
936
		  memset (&mbs, '\0', sizeof (mbstate_t));
937
		  break;
938
		}
930
939
931
	      beg += mlen;
940
	      beg += mlen;
932
	      bytes_left -= mlen;
941
	      bytes_left -= mlen;
933
	    }
942
	    }
934
943
935
	  if (bytes_left)
944
	  if (bytes_left)
936
	    continue;
945
	    {
946
	      beg += bytes_left;
947
	      continue;
948
	    }
937
	}
949
	}
938
      else
950
      else
939
#endif /* MBS_SUPPORT */
951
#endif /* MBS_SUPPORT */
Lines 1051-1056 Link Here
1051
			    {
1063
			    {
1052
			      /* Offset points inside multibyte character:
1064
			      /* Offset points inside multibyte character:
1053
			       * no good. */
1065
			       * no good. */
1066
			      memset (&mbs, '\0', sizeof (mbstate_t));
1054
			      break;
1067
			      break;
1055
			    }
1068
			    }

Return to bug 113343