[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
smbfs smbnetfs.c
From: |
Ludovic Courtès |
Subject: |
smbfs smbnetfs.c |
Date: |
Sun, 04 Mar 2012 17:07:47 +0000 |
CVSROOT: /sources/hurdextras
Module name: smbfs
Changes by: Ludovic Courtès <civodul> 12/03/04 17:07:47
Modified files:
. : smbnetfs.c
Log message:
Use `asprintf' instead of `malloc' + `sprintf'.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/smbfs/smbnetfs.c?cvsroot=hurdextras&r1=1.8&r2=1.9
Patches:
Index: smbnetfs.c
===================================================================
RCS file: /sources/hurdextras/smbfs/smbnetfs.c,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -b -r1.8 -r1.9
--- smbnetfs.c 4 Mar 2012 15:13:08 -0000 1.8
+++ smbnetfs.c 4 Mar 2012 17:07:47 -0000 1.9
@@ -1,6 +1,8 @@
/*
Copyright (C) 1997, 2002, 2004, 2007, 2009 Free Software Foundation, Inc.
Copyright (C) 2004, 2007, 2009 Giuseppe Scrivano.
+ Copyright (C) 2012 Ludovic Courtès <address@hidden>
+
Written by Giuseppe Scrivano <address@hidden>
This program is free software; you can redistribute it and/or
@@ -159,15 +161,13 @@
int err = create_node (&node);
if (err)
return;
+
netfs_root_node = node;
node->nn->parent = 0;
- node->nn->filename = malloc (strlen (credentials.share) + 1);
- if (node->nn->filename)
- strcpy (node->nn->filename, credentials.share);
+ node->nn->filename = strdup (credentials.share);
netfs_validate_stat (node, 0);
-
- }
+}
static int
@@ -196,11 +196,7 @@
else
n->parent = 0;
- n->filename = malloc ( strlen(top->nn->filename) + strlen (filename) + 1);
- if (!n->filename)
- return 0;
-
- sprintf (n->filename, "%s/%s", top->nn->filename, filename);
+ asprintf (&n->filename, "%s/%s", top->nn->filename, filename);
mutex_lock (&smb_mutex);
err = smbc_stat (n->filename, &st);
@@ -470,18 +466,13 @@
char *filename;
if (dir->nn->filename)
- filename = malloc (strlen (dir->nn->filename) + strlen (name) + 2);
+ asprintf (&filename, "%s/%s", dir->nn->filename, name);
else
- filename = malloc (strlen (credentials.share) + strlen (name) + 1);
+ asprintf (&filename, "%s/%s", credentials.share, name);
if (!filename)
return ENOMEM;
- if (dir->nn->filename)
- sprintf (filename, "%s/%s", dir->nn->filename, name);
- else
- sprintf (filename, "%s/%s", credentials.share, name);
-
mutex_lock (&smb_mutex);
error_t err = smbc_unlink (filename);
mutex_unlock (&smb_mutex);
@@ -503,17 +494,17 @@
char *filename2; /* Destination file name. */
if (fromdir->nn->filename)
- filename = malloc (strlen (fromdir->nn->filename) + strlen (fromname) + 2);
+ asprintf (&filename, "%s/%s", fromdir->nn->filename,fromname);
else
- filename = malloc (strlen (credentials.share) + strlen (fromname) + 1);
+ asprintf (&filename, "%s/%s", credentials.share, fromname);
if (!filename)
return ENOMEM;
if (todir->nn->filename)
- filename2 =malloc (strlen (todir->nn->filename) + strlen (toname) + 2);
+ asprintf (&filename2, "%s/%s", todir->nn->filename, toname);
else
- filename2 = malloc (strlen (credentials.share) + strlen (toname) + 1);
+ asprintf (&filename2, "%s/%s", credentials.share, toname);
if (!filename2)
{
@@ -521,16 +512,6 @@
return ENOMEM;
}
- if (fromdir->nn->filename)
- sprintf (filename, "%s/%s", fromdir->nn->filename,fromname);
- else
- sprintf (filename, "%s/%s", credentials.share, fromname);
-
- if (todir->nn->filename)
- sprintf (filename, "%s/%s", todir->nn->filename, toname);
- else
- sprintf (filename, "%s/%s", credentials.share, toname);
-
mutex_lock (&smb_mutex);
error_t err = smbc_rename (filename, filename2);
mutex_unlock (&smb_mutex);
@@ -548,17 +529,13 @@
error_t err;
if (dir->nn->filename)
- filename = malloc (strlen (dir->nn->filename) + strlen (name) + 2);
+ asprintf (&filename, "%s/%s", dir->nn->filename,name);
else
- filename = malloc (strlen (credentials.share) + strlen (name) + 1);
+ asprintf (&filename, "%s/%s", credentials.share, name);
+
if (!filename)
return ENOMEM;
- if (dir->nn->filename)
- sprintf (filename, "%s/%s", dir->nn->filename,name);
- else
- sprintf (filename, "%s/%s", credentials.share, name);
-
mutex_lock (&smb_mutex);
err = smbc_mkdir (filename, mode);
mutex_unlock (&smb_mutex);
@@ -574,17 +551,13 @@
error_t err;
if (dir->nn->filename)
- filename = malloc (strlen (dir->nn->filename) +strlen (name) + 2);
+ asprintf (&filename, "%s/%s", dir->nn->filename, name);
else
- filename = malloc (strlen (credentials.share) + strlen (name) + 1);
+ asprintf (&filename, "%s/%s", credentials.share, name);
+
if (!filename)
return ENOMEM;
- if (dir->nn->filename)
- sprintf (filename, "%s/%s", dir->nn->filename, name);
- else
- sprintf (filename, "%s/%s", credentials.share, name);
-
mutex_lock (&smb_mutex);
err = smbc_rmdir (filename);
mutex_unlock (&smb_mutex);
@@ -619,19 +592,15 @@
*np = 0;
if (dir->nn->filename)
- filename = malloc ( strlen (dir->nn->filename) +strlen (name) + 2);
+ asprintf (&filename, "%s/%s", dir->nn->filename,name);
else
- filename = malloc (strlen (credentials.share) + strlen (name) + 1);
+ asprintf (&filename, "%s/%s", credentials.share, name);
+
if (!filename)
return ENOMEM;
- if (dir->nn->filename)
- sprintf (filename, "%s/%s", dir->nn->filename,name);
- else
- sprintf (filename, "%s/%s", credentials.share, name);
-
mutex_lock (&smb_mutex);
- fd = smbc_open (filename,O_WRONLY | O_CREAT , O_RDWR);
+ fd = smbc_open (filename, O_WRONLY | O_CREAT , O_RDWR);
if (fd < 0)
{
mutex_unlock (&smb_mutex);
@@ -963,30 +932,20 @@
else
continue;
- char *stat_file_name;
- stat_file_name = malloc (strlen (dir->nn->filename)
- + strlen (dirent->name) + 2);
- if(!stat_file_name)
- {
- mutex_lock (&smb_mutex);
- smbc_closedir(dd);
- mutex_unlock (&smb_mutex);
- return ENOMEM;
- }
+ char stat_file_name[strlen (dir->nn->filename)
+ + strlen (dirent->name) + 2];
if (!strcmp (dirent->name, "."))
{
- sprintf (stat_file_name, "%s", dir->nn->filename);
+ strcpy (stat_file_name, ".");
mutex_lock (&smb_mutex);
- err=smbc_stat (stat_file_name, &st);
+ err = smbc_stat (dir->nn->filename, &st);
mutex_unlock (&smb_mutex);
}
- else if (!strcmp (dirent->name,".."))
+ else if (!strcmp (dirent->name, ".."))
{
- if (dir->nn->parent)
- sprintf (stat_file_name, "%s/%s", dir->nn->filename,
dirent->name);
- else
- st.st_ino = 0;
+ st = empty_stat (cred);
+ st.st_mode |= S_IFDIR;
}
else
{
@@ -1003,8 +962,6 @@
}
}
- free (stat_file_name);
-
if (err)
{
mutex_lock (&smb_mutex);
- smbfs smbnetfs.c, Ludovic Courtès, 2012/03/04
- smbfs smbnetfs.c, Ludovic Courtès, 2012/03/04
- smbfs smbnetfs.c,
Ludovic Courtès <=
- smbfs smbnetfs.c, Ludovic Courtès, 2012/03/04
- smbfs smbnetfs.c, Ludovic Courtès, 2012/03/04
- smbfs smbnetfs.c, Ludovic Courtès, 2012/03/05
- smbfs smbnetfs.c, Ludovic Courtès, 2012/03/05
- smbfs smbnetfs.c, Ludovic Courtès, 2012/03/14