Menu

#33 Compilation error ld.c line 806

open
nobody
None
5
2006-10-14
2006-10-14
Anonymous
No

cpu compilation failed on
gid = ldap_get_values (ld, pos, gid)[0];
line 806
it works like this
gid = ldap_get_values (ld, pos, gid);

Discussion

  • Devin Reade

    Devin Reade - 2006-12-18

    Logged In: YES
    user_id=167330
    Originator: NO

    That change doesn't look quite right. Instead, try changing this code block:

    gid = ldap_get_values (ld, pos, gid)[0];
    if (gid != NULL)
    return atoi (gid);

    To this one:

    char **gidval = ldap_get_values (ld, pos, gid);
    if (gidval != NULL)
    return atoi (*gidval);

    Note also that ldap_get_values dynamically allocates memory, so we also have
    memory leaks happening with this code.

     
  • Devin Reade

    Devin Reade - 2006-12-18

    Logged In: YES
    user_id=167330
    Originator: NO

    Also: my previous comment was based on compiling under fedora core 6 (x86)

     
  • Charlie Brady

    Charlie Brady - 2007-07-24

    Logged In: YES
    user_id=345312
    Originator: NO

    I think this is what is required:

    char **gidval = ldap_get_values (ld, pos, gid);
    int val;

    if (gidval == NULL)
    return -10;
    val = atoi (*gidval);
    ldap_value_free (gidval);
    return val;

     

Log in to post a comment.