Merge branch 'tz/fsf-address-update'
[gitweb.git] / compat / regex / regex_internal.c
index d4121f2f4f1cfa9bf90c22b6e3c944f451225fdf..59bf151336c22d65ae3470ba3ded73d99f7130fe 100644 (file)
@@ -14,9 +14,8 @@
    Lesser General Public License for more details.
 
    You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-   02110-1301 USA.  */
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
 
 static void re_string_construct_common (const char *str, int len,
                                        re_string_t *pstr,
@@ -613,7 +612,7 @@ re_string_reconstruct (re_string_t *pstr, int idx, int eflags)
              int low = 0, high = pstr->valid_len, mid;
              do
                {
-                 mid = (high + low) / 2;
+                 mid = low + (high - low) / 2;
                  if (pstr->offsets[mid] > offset)
                    high = mid;
                  else if (pstr->offsets[mid] < offset)
@@ -1394,7 +1393,7 @@ re_node_set_contains (const re_node_set *set, int elem)
   right = set->nelem - 1;
   while (idx < right)
     {
-      mid = (idx + right) / 2;
+      mid = idx + (right - idx) / 2;
       if (set->elems[mid] < elem)
        idx = mid + 1;
       else