fix: fix invalid indent value case
feat: implemented main.c
This commit is contained in:
		
							parent
							
								
									3d7131a43e
								
							
						
					
					
						commit
						395b2b254b
					
				| 
						 | 
					@ -26,10 +26,10 @@
 | 
				
			||||||
 * @return  A valid pointer if the operation is completely successful,
 | 
					 * @return  A valid pointer if the operation is completely successful,
 | 
				
			||||||
 * NULL if there is any error.
 | 
					 * NULL if there is any error.
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
ARGO_VALUE *argo_read_value(FILE *f) {
 | 
					// ARGO_VALUE *argo_read_value(FILE *f) {
 | 
				
			||||||
    // TO BE IMPLEMENTED.
 | 
					    // TO BE IMPLEMENTED.
 | 
				
			||||||
    abort();
 | 
					    // abort();
 | 
				
			||||||
}
 | 
					// }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * @brief  Read JSON input from a specified input stream, attempt to
 | 
					 * @brief  Read JSON input from a specified input stream, attempt to
 | 
				
			||||||
| 
						 | 
					@ -94,10 +94,10 @@ int argo_read_number(ARGO_NUMBER *n, FILE *f) {
 | 
				
			||||||
 * @return  Zero if the operation is completely successful,
 | 
					 * @return  Zero if the operation is completely successful,
 | 
				
			||||||
 * nonzero if there is any error.
 | 
					 * nonzero if there is any error.
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
int argo_write_value(ARGO_VALUE *v, FILE *f) {
 | 
					// int argo_write_value(ARGO_VALUE *v, FILE *f) {
 | 
				
			||||||
    // TO BE IMPLEMENTED.
 | 
					    // TO BE IMPLEMENTED.
 | 
				
			||||||
    abort();
 | 
					    // abort();
 | 
				
			||||||
}
 | 
					// }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * @brief  Write canonical JSON representing a specified string
 | 
					 * @brief  Write canonical JSON representing a specified string
 | 
				
			||||||
| 
						 | 
					@ -119,10 +119,10 @@ int argo_write_value(ARGO_VALUE *v, FILE *f) {
 | 
				
			||||||
 * @return  Zero if the operation is completely successful,
 | 
					 * @return  Zero if the operation is completely successful,
 | 
				
			||||||
 * nonzero if there is any error.
 | 
					 * nonzero if there is any error.
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
int argo_write_string(ARGO_STRING *s, FILE *f) {
 | 
					// int argo_write_string(ARGO_STRING *s, FILE *f) {
 | 
				
			||||||
    // TO BE IMPLEMENTED.
 | 
					    // TO BE IMPLEMENTED.
 | 
				
			||||||
    abort();
 | 
					    // abort();
 | 
				
			||||||
}
 | 
					// }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * @brief  Write canonical JSON representing a specified number
 | 
					 * @brief  Write canonical JSON representing a specified number
 | 
				
			||||||
| 
						 | 
					@ -142,7 +142,7 @@ int argo_write_string(ARGO_STRING *s, FILE *f) {
 | 
				
			||||||
 * @return  Zero if the operation is completely successful,
 | 
					 * @return  Zero if the operation is completely successful,
 | 
				
			||||||
 * nonzero if there is any error.
 | 
					 * nonzero if there is any error.
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
int argo_write_number(ARGO_NUMBER *n, FILE *f) {
 | 
					// int argo_write_number(ARGO_NUMBER *n, FILE *f) {
 | 
				
			||||||
    // TO BE IMPLEMENTED.
 | 
					    // TO BE IMPLEMENTED.
 | 
				
			||||||
    abort();
 | 
					    // abort();
 | 
				
			||||||
}
 | 
					// }
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -23,6 +23,23 @@ int main(int argc, char **argv)
 | 
				
			||||||
        USAGE(*argv, EXIT_FAILURE);
 | 
					        USAGE(*argv, EXIT_FAILURE);
 | 
				
			||||||
    if(global_options == HELP_OPTION)
 | 
					    if(global_options == HELP_OPTION)
 | 
				
			||||||
        USAGE(*argv, EXIT_SUCCESS);
 | 
					        USAGE(*argv, EXIT_SUCCESS);
 | 
				
			||||||
 | 
					    else if (global_options == VALIDATE_OPTION)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        argo_read_value(stdin);
 | 
				
			||||||
 | 
					        return EXIT_SUCCESS;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    else if (global_options == CANONICALIZE_OPTION)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        ARGO_VALUE *json = argo_read_value(stdin);
 | 
				
			||||||
 | 
					        argo_write_value(json, stdout);
 | 
				
			||||||
 | 
					        return EXIT_SUCCESS;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    else if (global_options & PRETTY_PRINT_OPTION)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        ARGO_VALUE *json = argo_read_value(stdin);
 | 
				
			||||||
 | 
					        argo_write_value(json, stdout);
 | 
				
			||||||
 | 
					        return EXIT_SUCCESS;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
    // TO BE IMPLEMENTED
 | 
					    // TO BE IMPLEMENTED
 | 
				
			||||||
    return EXIT_FAILURE;
 | 
					    return EXIT_FAILURE;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -40,14 +40,6 @@ int validargs(int argc, char **argv)
 | 
				
			||||||
            global_options = VALIDATE_OPTION;
 | 
					            global_options = VALIDATE_OPTION;
 | 
				
			||||||
            isValid = 1;
 | 
					            isValid = 1;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        else
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
            if (parse_arg(*(++ptr)) == -1)
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                global_options = VALIDATE_OPTION;
 | 
					 | 
				
			||||||
                isValid = 1;
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
        break;
 | 
					        break;
 | 
				
			||||||
    case 2:
 | 
					    case 2:
 | 
				
			||||||
        if (argc == 2)
 | 
					        if (argc == 2)
 | 
				
			||||||
| 
						 | 
					@ -57,18 +49,21 @@ int validargs(int argc, char **argv)
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        else
 | 
					        else
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            switch (parse_arg(*(++ptr)))
 | 
					            if (parse_arg(*(++ptr)) == 1)
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
            case -1:
 | 
					                int indented_value;
 | 
				
			||||||
                global_options = CANONICALIZE_OPTION;
 | 
					                if (argc == 3) {
 | 
				
			||||||
 | 
					                    indented_value = 4;
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					                else {
 | 
				
			||||||
 | 
					                    indented_value = str2int(*(++ptr));
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					                if (indented_value == -1) {
 | 
				
			||||||
 | 
					                    break;
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					                global_options = CANONICALIZE_OPTION + PRETTY_PRINT_OPTION + indented_value;
 | 
				
			||||||
                isValid = 1;
 | 
					                isValid = 1;
 | 
				
			||||||
                break;
 | 
					                break;
 | 
				
			||||||
            case 1:
 | 
					 | 
				
			||||||
                global_options = CANONICALIZE_OPTION + PRETTY_PRINT_OPTION + str2int(*(++ptr));
 | 
					 | 
				
			||||||
                isValid = 1;
 | 
					 | 
				
			||||||
                break;
 | 
					 | 
				
			||||||
            default:
 | 
					 | 
				
			||||||
                break;
 | 
					 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        break;
 | 
					        break;
 | 
				
			||||||
| 
						 | 
					@ -123,9 +118,14 @@ int str2int(char *arg)
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        else
 | 
					        else
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            ans = 4;
 | 
					            ans = -1;
 | 
				
			||||||
            break;
 | 
					            break;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    return ans;
 | 
					    if (ans < 256 && ans >= 0) {
 | 
				
			||||||
 | 
					        return ans;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    else {
 | 
				
			||||||
 | 
					        return -1;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
		Loading…
	
		Reference in New Issue
	
	Block a user