Help with linked list in C


 
Thread Tools Search this Thread
Top Forums Programming Help with linked list in C
# 22  
Old 03-31-2011
ok now i changed that function to
Code:
int already_there(client *current, char *username) {
    while(current) {
        if (strcmp(current->client_name, username)==0) return(1);
        if (current->next==NULL) break;
        else current = current->next;
    }
    return(0);
}

and am using
Code:
    client *current=NULL;
    current = add_client("tttttttt", current, client_socket_fd);
    current = add_client("ttttttttt", current, client_socket_fd);
    printf("HERE\n");
    write(1,current->client_name,9);
    printf("\n");
    write(1,current->next->client_name,8);
    printf("\nHERE\n");

and
Code:
client *add_client(char *username, client *client_list, int client_socket_fd) {
    client *new_client = (client *)malloc(sizeof(client)); 
    new_client->client_name = username;
    new_client->client_socket_fd = client_socket_fd;
    new_client->next = client_list;
    return new_client;
}

first i add the two clients, then check for some other name if its there


this above code works now

but if i change
if (current->next==NULL) break;
else current = current->next;
to
current = current->next;

from the first code i put here, then it messes up, but why is changing that making a difference?

---------- Post updated at 06:23 PM ---------- Previous update was at 06:18 PM ----------

also a quick question, if i run the code, and get no error, then right away run the code again
and get this error
ERROR on binding: Address already in use
does that mean that theres something wrong with my code, or its just something i cant avoid?

if i get that error, i have to wait like 7 seconds before it works again...
# 23  
Old 03-31-2011
Quote:
Originally Posted by omega666
why is changing that making a difference?
How should I know? Everything I need to see is stuff you never posted. Post the complete program.

Quote:
also a quick question, if i run the code, and get no error, then right away run the code again
and get this error
ERROR on binding: Address already in use
does that mean that theres something wring with my code, or its just something i cant avoid?
It just takes time to properly close a server socket.
# 24  
Old 04-01-2011
I can basically see 2 options here: You either continue how you are going to kind of ignore Corona and will maybe get a code that will work (that you probably won't understand truly), maybe a got that crashes, but almost certainly a code with leaks.

The other way is to step back, look at the link I've posted on page 2, read it carefully, think about pointers in C work (maybe read some little bit more about them) and then have another go.

As fas as you'll continue the first way, I'm out of this thread now
# 25  
Old 04-02-2011
hmm, i got this to work the first time i use the function, the second time always returns 0 for some reason
Code:
int already_there(client *client_list, char *username) {
    if (client_list == NULL) return(0);
    else if (strcmp(client_list->client_name, username)==0) return(1);
    else return already_there(client_list->next, username);
}


Last edited by omega666; 04-02-2011 at 01:18 AM..
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Programming

How to reverse a linked list by traversing only once.?

Program to reverse a linked list by traversing only once. (1 Reply)
Discussion started by: VSSajjan
1 Replies

2. Programming

How to delete the last node in a linked list.?

How to delete the last node in a single linked list given only the pointer to last node ? Head node will not be given. (5 Replies)
Discussion started by: VSSajjan
5 Replies

3. Programming

Help with linked list.

#include<stdio.h> #include<stdlib.h> struct LinkedList { int val; struct LinkedList *next; }node; /*Creating a structure variable*/ typedef struct LinkedList Node; Node *start = NULL; int create(int i) { Node *temp = NULL; if (start == NULL) ... (5 Replies)
Discussion started by: prinsh
5 Replies

4. UNIX for Advanced & Expert Users

Unix linked-list placement

Hi, I am programming in kernel, and I want to use a double linked list that holds infos that every process could access and modify THIS list. So, I suppose it is a 'global' variable since every process(thread) can reach it, I am wondering where to put it? by changing some of the kernel files? (1 Reply)
Discussion started by: louisTan
1 Replies

5. Programming

how to check if something exists in a struct linked list?

can someone provide an example of a struct linked list, where it has strings as its values, and then how do I check if a specific string (say called buffer) exists in the list of structs? i dont understand how to make a copy of it to check with this is what i have ... (0 Replies)
Discussion started by: omega666
0 Replies

6. Programming

How to check if something exists in linked list in C?

i have a linked list set up like typedef struct client_list { char *client_name; int client_socket_fd; struct client_list *next; } client; client *client_list=NULL; before adding to the list i check if it already exists, only if it does not then i add if (client_list==NULL... (1 Reply)
Discussion started by: omega666
1 Replies

7. Programming

I need C++ Code for single linked list

I need C++ Code for single linked list With operations as 1)insert at any position 2)delete any 3)change the data of any position (2 Replies)
Discussion started by: girija
2 Replies

8. Programming

shared memory with linked list??

is this possible, if so plz please share with me.. Correct English please, not Cyber-/Leetspeak (11 Replies)
Discussion started by: vijay_manpage
11 Replies

9. UNIX for Dummies Questions & Answers

List linked files

A perl script that displays the list of files which have multiple links..! ls -l shows number of links in a field. (0 Replies)
Discussion started by: aadi_uni
0 Replies

10. Programming

Reverse single linked list

Can any one help me in reversing the single linked list and at the same time i want to print the reversed links. (2 Replies)
Discussion started by: dhanamurthy
2 Replies
Login or Register to Ask a Question