summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorBen Gamari <ben@smart-cactus.org>2016-05-08 09:48:13 +0200
committerPatrick Griffis <tingping@tingping.se>2016-06-30 15:51:10 -0400
commit9e11280e529b5b494f0c04bda602df907aa0b207 (patch)
treefc7239f716171a9834d9ffa0bcc845ecaf0cea6c
parent77dccacd0215aa51edf755886d39d94ed30b03af (diff)
dcc: Introduce dcc_type and dcc_state enums
Closes #1705
-rw-r--r--src/common/dcc.c16
-rw-r--r--src/common/dcc.h30
-rw-r--r--src/fe-gtk/dccgui.c5
3 files changed, 36 insertions, 15 deletions
diff --git a/src/common/dcc.c b/src/common/dcc.c
index dc5ec2fe..055098b2 100644
--- a/src/common/dcc.c
+++ b/src/common/dcc.c
@@ -81,7 +81,7 @@ static int dcc_global_throttle;	/* 0x1 = sends, 0x2 = gets */
 static gint64 dcc_sendcpssum, dcc_getcpssum;
 
 static struct DCC *new_dcc (void);
-static void dcc_close (struct DCC *dcc, int dccstat, int destroy);
+static void dcc_close (struct DCC *dcc, enum dcc_state dccstat, int destroy);
 static gboolean dcc_send_data (GIOChannel *, GIOCondition, struct DCC *);
 static gboolean dcc_read (GIOChannel *, GIOCondition, struct DCC *);
 static gboolean dcc_read_ack (GIOChannel *source, GIOCondition condition, struct DCC *dcc);
@@ -293,6 +293,8 @@ dcc_check_timeouts (void)
 			if (prefs.hex_dcc_remove)
 				dcc_close (dcc, 0, TRUE);
 			break;
+		default:
+			break;
 		}
 		list = next;
 	}
@@ -367,7 +369,7 @@ dcc_connect_sok (struct DCC *dcc)
 }
 
 static void
-dcc_close (struct DCC *dcc, int dccstat, int destroy)
+dcc_close (struct DCC *dcc, enum dcc_state dccstat, int destroy)
 {
 	if (dcc->wiotag)
 	{
@@ -1606,6 +1608,8 @@ dcc_accept (GIOChannel *source, GIOCondition condition, struct DCC *dcc)
 		EMIT_SIGNAL (XP_TE_DCCCONCHAT, dcc->serv->front_session,
 						 dcc->nick, host, NULL, NULL, 0);
 		break;
+	default:
+		break;
 	}
 
 	fe_dcc_update (dcc);
@@ -2183,6 +2187,8 @@ dcc_get (struct DCC *dcc)
 	case STAT_ABORTED:
 		dcc_close (dcc, 0, TRUE);
 		break;
+	default:
+		break;
 	}
 }
 
@@ -2265,6 +2271,9 @@ dcc_chat (struct session *sess, char *nick, int passive)
 		case STAT_ABORTED:
 		case STAT_FAILED:
 			dcc_close (dcc, 0, TRUE);
+			break;
+		case STAT_DONE:
+			break;
 		}
 	}
 	dcc = find_dcc (nick, "", TYPE_CHATRECV);
@@ -2278,6 +2287,9 @@ dcc_chat (struct session *sess, char *nick, int passive)
 		case STAT_FAILED:
 		case STAT_ABORTED:
 			dcc_close (dcc, 0, TRUE);
+			break;
+		default:
+			break;
 		}
 		return;
 	}
diff --git a/src/common/dcc.h b/src/common/dcc.h
index e5d0809f..379385e6 100644
--- a/src/common/dcc.h
+++ b/src/common/dcc.h
@@ -25,17 +25,21 @@
 #ifndef HEXCHAT_DCC_H
 #define HEXCHAT_DCC_H
 
-#define STAT_QUEUED 0
-#define STAT_ACTIVE 1
-#define STAT_FAILED 2
-#define STAT_DONE 3
-#define STAT_CONNECTING 4
-#define STAT_ABORTED 5
-
-#define TYPE_SEND 0
-#define TYPE_RECV 1
-#define TYPE_CHATRECV 2
-#define TYPE_CHATSEND 3
+enum dcc_state {
+	STAT_QUEUED = 0,
+	STAT_ACTIVE,
+	STAT_FAILED,
+	STAT_DONE,
+	STAT_CONNECTING,
+	STAT_ABORTED
+};
+
+enum dcc_type {
+	TYPE_SEND = 0,
+	TYPE_RECV,
+	TYPE_CHATRECV,
+	TYPE_CHATSEND
+};
 
 #define CPS_AVG_WINDOW 10
 
@@ -72,8 +76,8 @@ struct DCC
 	char *file;					/* utf8 */
 	char *destfile;			/* utf8 */
 	char *nick;
-	unsigned char type;		  /* 0 = SEND  1 = RECV  2 = CHAT */
-	unsigned char dccstat;	  /* 0 = QUEUED  1 = ACTIVE  2 = FAILED  3 = DONE */
+	enum dcc_type type;
+	enum dcc_state dccstat;
 	unsigned int resume_sent:1;	/* resume request sent */
 	unsigned int fastsend:1;
 	unsigned int ackoffset:1;	/* is receiver sending acks as an offset from */
diff --git a/src/fe-gtk/dccgui.c b/src/fe-gtk/dccgui.c
index 8c9dc8b4..5ad6451d 100644
--- a/src/fe-gtk/dccgui.c
+++ b/src/fe-gtk/dccgui.c
@@ -713,6 +713,11 @@ dcc_dclick_cb (GtkTreeView *view, GtkTreePath *path,
 	case STAT_ABORTED:
 	case STAT_DONE:
 		dcc_abort (dcc->serv->front_session, dcc);
+		break;
+	case STAT_QUEUED:
+	case STAT_ACTIVE:
+	case STAT_CONNECTING:
+		break;
 	}
 }