Sponsored Content
Full Discussion: Help with linked list in C
Top Forums Programming Help with linked list in C Post 302509541 by disaster on Thursday 31st of March 2011 03:49:55 AM
Old 03-31-2011
I think the problem is, that you only work on the malloc'ed memory locally within the function.
You give add_client a pointer of type client. This is given by call by value, i.e. assigning the pointer a newly malloc'ed memory will not assign this memory to the pointer in the main function! Therefore your client *current is pointing to an undefined memory location even after call of add_client.

Better do this:
Code:
client *add_client(char *username, client *head, int *client_socket_fd) {
    client *current;
    current = (client *)malloc(sizeof(client)); 
    current->client_name = username;
    current->next = head;
    current->client_socket_fd = *client_socket_fd;
    return current;
}


Furthermore: What are you willing to achieve with:
head = current;
current = head
?
 

10 More Discussions You Might Find Interesting

1. 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

2. 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

3. 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

4. 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

5. 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

6. 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

7. 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

8. 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

9. 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

10. 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
GEARMAN_CLIENT_SET_WORKLOAD_MALLOC_FN(3)			     Gearmand				  GEARMAN_CLIENT_SET_WORKLOAD_MALLOC_FN(3)

NAME
gearman_client_set_workload_malloc_fn - Gearmand Documentation, http://gearman.info/ SYNOPSIS
#include <libgearman/gearman.h> gearman_client_st gearman_task_context_free_fn int gearman_client_timeout(gearman_client_st *client) void gearman_client_set_timeout(gearman_client_st *client, int timeout) void *gearman_client_context(const gearman_client_st *client) void gearman_client_set_context(gearman_client_st *client, void *context) void gearman_client_set_workload_malloc_fn(gearman_client_st *client, gearman_malloc_fn *function, void *context) Deprecated since version 0.23: Use gearman_allocator_t void gearman_client_set_workload_free_fn(gearman_client_st *client, gearman_free_fn *function, void *context) Deprecated since version 0.23: Use gearman_allocator_t void gearman_client_task_free_all(gearman_client_st *client) void gearman_client_set_task_context_free_fn(gearman_client_st *client, gearman_task_context_free_fn *function) Link with -lgearman DESCRIPTION
gearman_client_st is used for client communication with the server. gearman_client_context() and gearman_client_set_context() can be used to store an arbitrary object for the user. gearman_client_set_task_context_free_fn() sets a trigger that will be called when a gearman_task_st is released. gearman_client_timeout() and gearman_client_set_timeout() get and set the current timeout value, in milliseconds, for the client. Normally malloc(3) and free(3) are used for allocation and releasing workloads. gearman_client_set_workload_malloc_fn() and gearman_client_set_workload_free_fn() can be used to replace these with custom functions. (These have been deprecated, please see gear- man_allocator_t for the updated interface. gearman_client_task_free_all() is used to free all current gearman_task_st that have been created with the gearman_client_st. Warning By calling gearman_client_task_free_all() you can end up with a SEGFAULT if you try to use any gearman_task_st that you have kept pointers too. RETURN VALUE
gearman_client_timeout() returns an integer representing the amount of time in milliseconds. A value of -1 means an infinite timeout value. See poll(3) for more details. HOME
To find out more information please check: http://gearman.info/ See also gearmand(8) libgearman(3) gearman_client_create(3) AUTHOR
Data Differential http://www.datadifferential.com/ COPYRIGHT
2012, Data Differential, http://www.datadifferential.com/ 0.33 May 04, 2012 GEARMAN_CLIENT_SET_WORKLOAD_MALLOC_FN(3)
All times are GMT -4. The time now is 08:24 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy