- stoptime = op->o_time + tlimit;
-
- /* if no size limit requested, use soft limit (unless root!) */
- if ( slimit == 0 ) {
- if ( isroot ) {
- slimit = -1; /* allow root to set no limit */
- } else {
- slimit = limit->lms_s_soft;
- }
-
- /* if requested limit higher than hard limit, abort */
- } else if ( slimit > limit->lms_s_hard ) {
- /* no hard limit means use soft instead */
- if ( limit->lms_s_hard == 0 ) {
- slimit = limit->lms_s_soft;
-
- /* positive hard limit means abort */
- } else if ( limit->lms_s_hard > 0 ) {
- send_search_result( conn, op, LDAP_UNWILLING_TO_PERFORM,
- NULL, NULL, NULL, NULL, 0 );
- rc = 0;
- goto done;
- }
-
- /* negative hard limit means no limit */
- }