[BACK]Return to ber.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / ldap

Diff for /src/usr.bin/ldap/Attic/ber.c between version 1.16 and 1.17

version 1.16, 2018/07/31 11:37:18 version 1.17, 2018/07/31 19:38:09
Line 430 
Line 430 
         return (0);          return (0);
 }  }
   
   int
   ber_oid_cmp(struct ber_oid *a, struct ber_oid *b)
   {
           size_t   i;
           for (i = 0; i < BER_MAX_OID_LEN; i++) {
                   if (a->bo_id[i] != 0) {
                           if (a->bo_id[i] == b->bo_id[i])
                                   continue;
                           else if (a->bo_id[i] < b->bo_id[i]) {
                                   /* b is a successor of a */
                                   return (1);
                           } else {
                                   /* b is a predecessor of a */
                                   return (-1);
                           }
                   } else if (b->bo_id[i] != 0) {
                           /* b is larger, but a child of a */
                           return (2);
                   } else
                           break;
           }
   
           /* b and a are identical */
           return (0);
   }
   
 struct ber_element *  struct ber_element *
 ber_add_oid(struct ber_element *prev, struct ber_oid *o)  ber_add_oid(struct ber_element *prev, struct ber_oid *o)
 {  {
Line 756 
Line 782 
   
 }  }
   
   ssize_t
   ber_get_writebuf(struct ber *b, void **buf)
   {
           if (b->br_wbuf == NULL)
                   return -1;
           *buf = b->br_wbuf;
           return (b->br_wend - b->br_wbuf);
   }
   
 /*  /*
  * write ber elements to the write buffer   * write ber elements to the write buffer
  *   *
Line 795 
Line 830 
         return (len);          return (len);
 }  }
   
   void
   ber_set_readbuf(struct ber *b, void *buf, size_t len)
   {
           b->br_rbuf = b->br_rptr = buf;
           b->br_rend = (u_int8_t *)buf + len;
   }
   
 /*  /*
  * read ber elements from the read buffer   * read ber elements from the read buffer
  *   *
Line 896 
Line 938 
         return (root->be_len + size);          return (root->be_len + size);
 }  }
   
   void
   ber_set_application(struct ber *b, unsigned int (*cb)(struct ber_element *))
   {
           b->br_application = cb;
   }
   
   void
   ber_set_writecallback(struct ber_element *elm, void (*cb)(void *, size_t),
       void *arg)
   {
           elm->be_cb = cb;
           elm->be_cbarg = arg;
   }
   
   void
   ber_free(struct ber *b)
   {
           free(b->br_wbuf);
   }
   
 /*  /*
  * internal functions   * internal functions
  */   */
Line 1204 
Line 1266 
         return totlen;          return totlen;
 }  }
   
 void  
 ber_set_readbuf(struct ber *b, void *buf, size_t len)  
 {  
         b->br_rbuf = b->br_rptr = buf;  
         b->br_rend = (u_int8_t *)buf + len;  
 }  
   
 ssize_t  
 ber_get_writebuf(struct ber *b, void **buf)  
 {  
         if (b->br_wbuf == NULL)  
                 return -1;  
         *buf = b->br_wbuf;  
         return (b->br_wend - b->br_wbuf);  
 }  
   
 void  
 ber_set_application(struct ber *b, unsigned int (*cb)(struct ber_element *))  
 {  
         b->br_application = cb;  
 }  
   
 void  
 ber_set_writecallback(struct ber_element *elm, void (*cb)(void *, size_t),  
     void *arg)  
 {  
         elm->be_cb = cb;  
         elm->be_cbarg = arg;  
 }  
   
 void  
 ber_free(struct ber *b)  
 {  
         free(b->br_wbuf);  
 }  
   
 static ssize_t  static ssize_t
 ber_getc(struct ber *b, u_char *c)  ber_getc(struct ber *b, u_char *c)
 {  {
Line 1265 
Line 1291 
         ber->br_offs += len;          ber->br_offs += len;
   
         return len;          return len;
 }  
   
 int  
 ber_oid_cmp(struct ber_oid *a, struct ber_oid *b)  
 {  
         size_t   i;  
         for (i = 0; i < BER_MAX_OID_LEN; i++) {  
                 if (a->bo_id[i] != 0) {  
                         if (a->bo_id[i] == b->bo_id[i])  
                                 continue;  
                         else if (a->bo_id[i] < b->bo_id[i]) {  
                                 /* b is a successor of a */  
                                 return (1);  
                         } else {  
                                 /* b is a predecessor of a */  
                                 return (-1);  
                         }  
                 } else if (b->bo_id[i] != 0) {  
                         /* b is larger, but a child of a */  
                         return (2);  
                 } else  
                         break;  
         }  
   
         /* b and a are identical */  
         return (0);  
 }  }

Legend:
Removed from v.1.16  
changed lines
  Added in v.1.17