Skip to content

Commit

Permalink
repair bug:When the resolution fails , it will return to originally file
Browse files Browse the repository at this point in the history
  • Loading branch information
xieyugui committed Jan 14, 2016
1 parent d5223bb commit 1a20891
Show file tree
Hide file tree
Showing 7 changed files with 242 additions and 317 deletions.
148 changes: 74 additions & 74 deletions amf.cc
Original file line number Diff line number Diff line change
Expand Up @@ -782,81 +782,81 @@ void amf_data_free(amf_data * data) {
}
}

///* dump AMF data into a stream as text */
//void amf_data_dump(FILE * stream, const amf_data * data, int indent_level) {
// if (data != NULL) {
// amf_node * node;
// time_t time;
// struct tm * t;
// char datestr[128];
// switch (data->type) {
// case AMF_TYPE_NUMBER:
/* dump AMF data into a stream as text */
void amf_data_dump(FILE * stream, const amf_data * data, int indent_level) {
if (data != NULL) {
amf_node * node;
time_t time;
struct tm * t;
char datestr[128];
switch (data->type) {
case AMF_TYPE_NUMBER:
// fprintf(stream, "%.12g", data->number_data);
// break;
// case AMF_TYPE_BOOLEAN:
// fprintf(stream, "%s", (data->boolean_data) ? "true" : "false");
// break;
// case AMF_TYPE_STRING:
// fprintf(stream, "\'%.*s\'", data->string_data.size, data->string_data.mbstr);
// break;
// case AMF_TYPE_OBJECT:
// node = amf_object_first(data);
// fprintf(stream, "{\n");
// while (node != NULL) {
// fprintf(stream, "%*s", (indent_level+1)*4, "");
// amf_data_dump(stream, amf_object_get_name(node), indent_level+1);
// fprintf(stream, ": ");
// amf_data_dump(stream, amf_object_get_data(node), indent_level+1);
// node = amf_object_next(node);
// fprintf(stream, "\n");
// }
// fprintf(stream, "%*s", indent_level*4 + 1, "}");
// break;
// case AMF_TYPE_NULL:
// fprintf(stream, "null");
// break;
// case AMF_TYPE_UNDEFINED:
// fprintf(stream, "undefined");
// break;
// /*case AMF_TYPE_REFERENCE:*/
// case AMF_TYPE_ASSOCIATIVE_ARRAY:
// node = amf_associative_array_first(data);
// fprintf(stream, "{\n");
// while (node != NULL) {
// fprintf(stream, "%*s", (indent_level+1)*4, "");
// amf_data_dump(stream, amf_associative_array_get_name(node), indent_level+1);
// fprintf(stream, " => ");
// amf_data_dump(stream, amf_associative_array_get_data(node), indent_level+1);
// node = amf_associative_array_next(node);
// fprintf(stream, "\n");
// }
// fprintf(stream, "%*s", indent_level*4 + 1, "}");
// break;
// case AMF_TYPE_ARRAY:
// node = amf_array_first(data);
// fprintf(stream, "[\n");
// while (node != NULL) {
// fprintf(stream, "%*s", (indent_level+1)*4, "");
// amf_data_dump(stream, node->data, indent_level+1);
// node = amf_array_next(node);
// fprintf(stream, "\n");
// }
// fprintf(stream, "%*s", indent_level*4 + 1, "]");
// break;
// case AMF_TYPE_DATE:
// time = amf_date_to_time_t(data);
// tzset();
// t = localtime(&time);
// strftime(datestr, sizeof(datestr), "%a, %d %b %Y %H:%M:%S %z", t);
// fprintf(stream, "%s", datestr);
// break;
// /*case AMF_TYPE_SIMPLEOBJECT:*/
// case AMF_TYPE_XML: break;
// case AMF_TYPE_CLASS: break;
// default: break;
// }
// }
//}
break;
case AMF_TYPE_BOOLEAN:
fprintf(stream, "%s", (data->boolean_data) ? "true" : "false");
break;
case AMF_TYPE_STRING:
fprintf(stream, "\'%.*s\'", data->string_data.size, data->string_data.mbstr);
break;
case AMF_TYPE_OBJECT:
node = amf_object_first(data);
fprintf(stream, "{\n");
while (node != NULL) {
fprintf(stream, "%*s", (indent_level+1)*4, "");
amf_data_dump(stream, amf_object_get_name(node), indent_level+1);
fprintf(stream, ": ");
amf_data_dump(stream, amf_object_get_data(node), indent_level+1);
node = amf_object_next(node);
fprintf(stream, "\n");
}
fprintf(stream, "%*s", indent_level*4 + 1, "}");
break;
case AMF_TYPE_NULL:
fprintf(stream, "null");
break;
case AMF_TYPE_UNDEFINED:
fprintf(stream, "undefined");
break;
/*case AMF_TYPE_REFERENCE:*/
case AMF_TYPE_ASSOCIATIVE_ARRAY:
node = amf_associative_array_first(data);
fprintf(stream, "{\n");
while (node != NULL) {
fprintf(stream, "%*s", (indent_level+1)*4, "");
amf_data_dump(stream, amf_associative_array_get_name(node), indent_level+1);
fprintf(stream, " => ");
amf_data_dump(stream, amf_associative_array_get_data(node), indent_level+1);
node = amf_associative_array_next(node);
fprintf(stream, "\n");
}
fprintf(stream, "%*s", indent_level*4 + 1, "}");
break;
case AMF_TYPE_ARRAY:
node = amf_array_first(data);
fprintf(stream, "[\n");
while (node != NULL) {
fprintf(stream, "%*s", (indent_level+1)*4, "");
amf_data_dump(stream, node->data, indent_level+1);
node = amf_array_next(node);
fprintf(stream, "\n");
}
fprintf(stream, "%*s", indent_level*4 + 1, "]");
break;
case AMF_TYPE_DATE:
time = amf_date_to_time_t(data);
tzset();
t = localtime(&time);
strftime(datestr, sizeof(datestr), "%a, %d %b %Y %H:%M:%S %z", t);
fprintf(stream, "%s", datestr);
break;
/*case AMF_TYPE_SIMPLEOBJECT:*/
case AMF_TYPE_XML: break;
case AMF_TYPE_CLASS: break;
default: break;
}
}
}

/* return a null AMF object with the specified error code attached to it */
amf_data * amf_data_error(byte error_code) {
Expand Down
2 changes: 1 addition & 1 deletion amf.h
Original file line number Diff line number Diff line change
Expand Up @@ -146,7 +146,7 @@ amf_data * amf_data_clone(const amf_data * data);
/* release the memory of AMF data */
void amf_data_free(amf_data * data);
/* dump AMF data into a stream as text */
//void amf_data_dump(TSIOBufferReader readerp, const amf_data * data, int indent_level);
void amf_data_dump(FILE * stream, const amf_data * data, int indent_level);

/* return a null AMF object with the specified error code attached to it */
amf_data * amf_data_error(byte error_code);
Expand Down
2 changes: 1 addition & 1 deletion des.cc
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@

static u_char des_block_size = 8;


// note: Because each block size is 8, so not less than 8 bytes
TSReturnCode
des_encrypt(const u_char *key, u_char *data, unsigned len)
{
Expand Down
Loading

0 comments on commit 1a20891

Please sign in to comment.