浏览代码

Alternative to mg_upload (Step 52/?)

bel 9 年之前
父节点
当前提交
aa7cbc21bc
共有 1 个文件被更改,包括 12 次插入3 次删除
  1. 12 3
      src/civetweb.c

+ 12 - 3
src/civetweb.c

@@ -8906,6 +8906,7 @@ get_remote_ip(const struct mg_connection *conn)
 #include "handle_form.inl"
 #include "handle_form.inl"
 
 
 
 
+/* Replacement for mg_upload (Note: mg_upload is deprecated) */
 struct mg_upload_user_data {
 struct mg_upload_user_data {
 	struct mg_connection *conn;
 	struct mg_connection *conn;
 	const char *destination_dir;
 	const char *destination_dir;
@@ -8913,7 +8914,8 @@ struct mg_upload_user_data {
 };
 };
 
 
 
 
-int
+/* Helper function for deprecated mg_upload. */
+static int
 mg_upload_field_found(const char *key,
 mg_upload_field_found(const char *key,
                       const char *filename,
                       const char *filename,
                       char *path,
                       char *path,
@@ -8922,8 +8924,10 @@ mg_upload_field_found(const char *key,
 {
 {
 	int truncated = 0;
 	int truncated = 0;
 	struct mg_upload_user_data *fud = (struct mg_upload_user_data *)user_data;
 	struct mg_upload_user_data *fud = (struct mg_upload_user_data *)user_data;
+	(void)key;
 
 
 	if (!filename) {
 	if (!filename) {
+		mg_cry(fud->conn, "%s: No filename set", __func__);
 		return FORM_FIELD_STORAGE_ABORT;
 		return FORM_FIELD_STORAGE_ABORT;
 	}
 	}
 	mg_snprintf(fud->conn,
 	mg_snprintf(fud->conn,
@@ -8934,17 +8938,18 @@ mg_upload_field_found(const char *key,
 	            fud->destination_dir,
 	            fud->destination_dir,
 	            filename);
 	            filename);
 	if (!truncated) {
 	if (!truncated) {
+		mg_cry(fud->conn, "%s: File path too long", __func__);
 		return FORM_FIELD_STORAGE_ABORT;
 		return FORM_FIELD_STORAGE_ABORT;
 	}
 	}
 	return FORM_FIELD_STORAGE_STORE;
 	return FORM_FIELD_STORAGE_STORE;
 }
 }
 
 
 
 
-int
+/* Helper function for deprecated mg_upload. */
+static int
 mg_upload_field_stored(const char *path, size_t file_size, void *user_data)
 mg_upload_field_stored(const char *path, size_t file_size, void *user_data)
 {
 {
 	struct mg_upload_user_data *fud = (struct mg_upload_user_data *)user_data;
 	struct mg_upload_user_data *fud = (struct mg_upload_user_data *)user_data;
-
 	(void)file_size;
 	(void)file_size;
 
 
 	fud->num_uploaded_files++;
 	fud->num_uploaded_files++;
@@ -8954,6 +8959,7 @@ mg_upload_field_stored(const char *path, size_t file_size, void *user_data)
 }
 }
 
 
 
 
+/* Deprecated function mg_upload - use mg_handle_form_request instead. */
 int
 int
 mg_upload(struct mg_connection *conn, const char *destination_dir)
 mg_upload(struct mg_connection *conn, const char *destination_dir)
 {
 {
@@ -8964,6 +8970,9 @@ mg_upload(struct mg_connection *conn, const char *destination_dir)
 	                                   &fud};
 	                                   &fud};
 
 
 	int ret = mg_handle_form_request(conn, &fdh);
 	int ret = mg_handle_form_request(conn, &fdh);
+	if (ret < 0) {
+		mg_cry(conn, "%s: Error while parsing the request", __func__);
+	}
 
 
 	return fud.num_uploaded_files;
 	return fud.num_uploaded_files;
 }
 }