From: <mi...@st...> - 2006-09-13 08:20:57
|
Bhuvaneswaran Arumugam wrote: > > BUG: > > Currently you compare the length of old and new values. Judging from your patch you mean the attribute value lists. > So, it does not > recognize the diff when there is no change in length but the actual > string itself is changed (ex: s/usr/var/g). It's not that easy. replace_attr_value can also be set to 1 after line 87. Could you please post an example of the error? Best thing would be to add your errornous case as test-case to Tests/Lib/ldap/test_modlist.py. > Due to this bug, it returns > empty ldif so subsequent call to modify_s (in my application) fails. Hmm, are you using module ldif afterwards to turn the modlist into LDIF? How does the modlist look like. Is it empty? > < replace_attr_value = len(old_value)!=len(new_value) > --- > >> replace_attr_value = old_value!=new_value Please note that old_value and new_value are actually lists of attribute values. This line above sets only a first indicator that an attribute has changed to avoid performance loss due to calling the function list_dict(). Ciao, Michael. |