diff options
| author | David S. Miller <davem@davemloft.net> | 2010-04-13 00:28:45 -0700 | 
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2010-04-13 00:28:45 -0700 | 
| commit | 9343af084c7e8911897b0883042ee690cee3aaef (patch) | |
| tree | 6211a4bdc84690bec6530d27a3abb19f5e8bb8f3 /tools/perf/util/scripting-engines/trace-event-python.c | |
| parent | e182c77cc291456eed127b1472952ddb59a81a9d (diff) | |
| parent | 0d0fb0f9c5fddef4a10242fe3337f00f528a3099 (diff) | |
Merge branch 'master' of /home/davem/src/GIT/linux-2.6/
Conflicts:
	lib/Kconfig.debug
Diffstat (limited to 'tools/perf/util/scripting-engines/trace-event-python.c')
| -rw-r--r-- | tools/perf/util/scripting-engines/trace-event-python.c | 17 | 
1 files changed, 12 insertions, 5 deletions
diff --git a/tools/perf/util/scripting-engines/trace-event-python.c b/tools/perf/util/scripting-engines/trace-event-python.c index 33a414bbba3..6a72f14c598 100644 --- a/tools/perf/util/scripting-engines/trace-event-python.c +++ b/tools/perf/util/scripting-engines/trace-event-python.c @@ -208,7 +208,7 @@ static void python_process_event(int cpu, void *data,  				 int size __unused,  				 unsigned long long nsecs, char *comm)  { -	PyObject *handler, *retval, *context, *t; +	PyObject *handler, *retval, *context, *t, *obj;  	static char handler_name[256];  	struct format_field *field;  	unsigned long long val; @@ -256,16 +256,23 @@ static void python_process_event(int cpu, void *data,  				offset &= 0xffff;  			} else  				offset = field->offset; -			PyTuple_SetItem(t, n++, -				PyString_FromString((char *)data + offset)); +			obj = PyString_FromString((char *)data + offset);  		} else { /* FIELD_IS_NUMERIC */  			val = read_size(data + field->offset, field->size);  			if (field->flags & FIELD_IS_SIGNED) { -				PyTuple_SetItem(t, n++, PyInt_FromLong(val)); +				if ((long long)val >= LONG_MIN && +				    (long long)val <= LONG_MAX) +					obj = PyInt_FromLong(val); +				else +					obj = PyLong_FromLongLong(val);  			} else { -				PyTuple_SetItem(t, n++, PyInt_FromLong(val)); +				if (val <= LONG_MAX) +					obj = PyInt_FromLong(val); +				else +					obj = PyLong_FromUnsignedLongLong(val);  			}  		} +		PyTuple_SetItem(t, n++, obj);  	}  	if (_PyTuple_Resize(&t, n) == -1)  | 
