modify_a.c

来自「操做 openldap 的c语言源码」· C语言 代码 · 共 70 行

C
70
字号
#include "ldap.h"#include <stdio.h>
int main(){  LDAP  *ld;  char *sdn;  char *sn_values[] = {"eeee",NULL};
  char *homePhone_values[] = {"12345678",NULL};
  int version;  int rc_result;  int rc_result2error;  int msgid;  LDAPMessage *res;  int finish = 0;  LDAPMod mod1 = {LDAP_MOD_ADD,"homePhome",homePhone_values};  LDAPMod mod2 = {LDAP_MOD_REPLACE,"sn",sn_values};  LDAPMod mod3 = {LDAP_MOD_DELETE,"mail",NULL};  LDAPMod *lmod = {&mod1,&mod2,&mod3,NULL};   if( (ld = ldap_open( "192.168.3.3", 389 ))  == NULL )        exit( 1 );
   version = LDAP_VERSION3;

   ldap_set_option( ld, LDAP_OPT_PROTOCOL_VERSION,&version);   if(ldap_simple_bind_s(ld,"cn=root,dc=starxing,dc=com","secret")!=LDAP_SUCCESS)   {     ldap_perror( ld, "ldap_simple_bind_s" );     exit( 1 );   }   sdn = "cn=qqq,dc=starxing,dc=com";   msgid = ldap_modify(ld,sdn,lmod);   if (msgid!=LDAP_SUCCESS) {     ldap_perror( ld, "ldap_modify" );     return( 1 );    }while (!finish)    {        rc_result = ldap_result(ld, msgid, LDAP_MSG_ONE, NULL, &res);        switch(rc_result)        {            case -1:                ldap_perror(ld, "ldap_result");                ldap_unbind(ld);                return -1;            case 0:                break;            case LDAP_RES_MODIFY:                finish = 1;                                rc_result2error = ldap_result2error(ld, res, 1);                printf("ldap_modify: %s\n", ldap_err2string(rc_result2error));                ldap_unbind(ld);                break;            default:                ldap_unbind(ld);                  return -1;        }        }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?