projects
/
fio.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
backend: make it clear that we passed 'fd' to the new thread
[fio.git]
/
exp
/
expression-parser.y
diff --git
a/exp/expression-parser.y
b/exp/expression-parser.y
index 83b5b302ed1ae10ae8e40cb676cc1a13613b0777..04a6e07a38ae924ed04cbb6736b87894eeceee61 100644
(file)
--- a/
exp/expression-parser.y
+++ b/
exp/expression-parser.y
@@
-14,14
+14,13
@@
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
- * Foundation, Inc., 5
9 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ * Foundation, Inc., 5
1 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*
*/
#include <stdio.h>
#include <string.h>
#include <math.h>
*
*/
#include <stdio.h>
#include <string.h>
#include <math.h>
-#include "lexer.h"
struct parser_value_type {
double dval;
struct parser_value_type {
double dval;
@@
-44,6
+43,7
@@
int yyerror(__attribute__((unused)) long long *result,
extern int yylex(void);
extern void yyrestart(FILE *file);
extern int yylex(void);
extern void yyrestart(FILE *file);
+extern int lexer_value_is_time;
%}
%}
@@
-188,7
+188,7
@@
expression: expression '+' expression {
static int lexer_read_offset = 0;
static char lexer_input_buffer[1000];
static int lexer_read_offset = 0;
static char lexer_input_buffer[1000];
-int lexer_input(char* buffer,
yy_size_
t *bytes_read, int bytes_requested)
+int lexer_input(char* buffer,
unsigned in
t *bytes_read, int bytes_requested)
{
int bytes_left = strlen(lexer_input_buffer) - lexer_read_offset;
{
int bytes_left = strlen(lexer_input_buffer) - lexer_read_offset;
@@
-215,10
+215,11
@@
static void setup_to_parse_string(const char *string)
}
int evaluate_arithmetic_expression(const char *buffer, long long *ival, double *dval,
}
int evaluate_arithmetic_expression(const char *buffer, long long *ival, double *dval,
- double implied_units)
+ double implied_units
, int is_time
)
{
int rc, units_specified = 0, has_error = 0;
{
int rc, units_specified = 0, has_error = 0;
+ lexer_value_is_time = is_time;
setup_to_parse_string(buffer);
rc = yyparse(ival, dval, &has_error, &units_specified);
yyrestart(NULL);
setup_to_parse_string(buffer);
rc = yyparse(ival, dval, &has_error, &units_specified);
yyrestart(NULL);