浏览代码

smb: don't use asserts for error handling

Felix Paul Kühne 9 年之前
父节点
当前提交
f82e4776db
共有 2 个文件被更改,包括 17 次插入4 次删除
  1. 13 3
      src/smb_fd.c
  2. 4 1
      src/smb_share.c

+ 13 - 3
src/smb_fd.c

@@ -54,7 +54,10 @@ smb_share *smb_session_share_get(smb_session *s, smb_tid tid)
 {
     smb_share *iter;
 
-    assert(s != NULL && tid != -1);
+    assert(s != NULL);
+
+    if (tid == -1)
+        return NULL;
 
     iter = s->shares;
     while (iter != NULL && iter->tid != tid)
@@ -67,7 +70,11 @@ smb_share *smb_session_share_remove(smb_session *s, smb_tid tid)
 {
     smb_share *iter, *keep;
 
-    assert(s != NULL && tid != -1);
+    assert(s != NULL);
+
+    if (tid == -1)
+        return NULL;
+
     iter = s->shares;
 
     if (iter == NULL)
@@ -121,7 +128,10 @@ int         smb_session_file_add(smb_session *s, smb_tid tid, smb_file *f)
     smb_share *share;
     smb_file  *iter;
 
-    assert(s != NULL && tid != -1 && f != NULL);
+    assert(s != NULL && f != NULL);
+
+    if (tid == -1)
+        return -1;
 
     if ((share = smb_session_share_get(s, tid)) == NULL)
         return (0);

+ 4 - 1
src/smb_share.c

@@ -111,7 +111,10 @@ smb_tid         smb_tree_connect(smb_session *s, const char *name)
 
 int           smb_tree_disconnect(smb_session *s, smb_tid tid)
 {
-    assert(s != NULL && tid != -1);
+    assert(s != NULL);
+    (void)tid;
+    /* FIXME: handle tid == -1 error case once function is implemented */
+
     BDSM_dbg("smb_tree_disconnect: NOT IMPLEMENTED YET\n");
     return (0);
 }