mercurial/cext/parsers.c
changeset 47956 ba9491be5e0c
parent 47936 c0d6a59a7704
child 47973 3337eec29d5b
equal deleted inserted replaced
47955:66ff8d3865b3 47956:ba9491be5e0c
   165 static void dirstate_item_dealloc(PyObject *o)
   165 static void dirstate_item_dealloc(PyObject *o)
   166 {
   166 {
   167 	PyObject_Del(o);
   167 	PyObject_Del(o);
   168 }
   168 }
   169 
   169 
   170 static Py_ssize_t dirstate_item_length(PyObject *o)
       
   171 {
       
   172 	return 4;
       
   173 }
       
   174 
       
   175 static PyObject *dirstate_item_item(PyObject *o, Py_ssize_t i)
       
   176 {
       
   177 	dirstateItemObject *t = (dirstateItemObject *)o;
       
   178 	switch (i) {
       
   179 	case 0:
       
   180 		return PyBytes_FromStringAndSize(&t->state, 1);
       
   181 	case 1:
       
   182 		return PyInt_FromLong(t->mode);
       
   183 	case 2:
       
   184 		return PyInt_FromLong(t->size);
       
   185 	case 3:
       
   186 		return PyInt_FromLong(t->mtime);
       
   187 	default:
       
   188 		PyErr_SetString(PyExc_IndexError, "index out of range");
       
   189 		return NULL;
       
   190 	}
       
   191 }
       
   192 
       
   193 static PySequenceMethods dirstate_item_sq = {
       
   194     dirstate_item_length, /* sq_length */
       
   195     0,                    /* sq_concat */
       
   196     0,                    /* sq_repeat */
       
   197     dirstate_item_item,   /* sq_item */
       
   198     0,                    /* sq_ass_item */
       
   199     0,                    /* sq_contains */
       
   200     0,                    /* sq_inplace_concat */
       
   201     0                     /* sq_inplace_repeat */
       
   202 };
       
   203 
       
   204 static PyObject *dirstate_item_v1_state(dirstateItemObject *self)
   170 static PyObject *dirstate_item_v1_state(dirstateItemObject *self)
   205 {
   171 {
   206 	return PyBytes_FromStringAndSize(&self->state, 1);
   172 	return PyBytes_FromStringAndSize(&self->state, 1);
   207 };
   173 };
   208 
   174 
   560     0,                                 /* tp_getattr */
   526     0,                                 /* tp_getattr */
   561     0,                                 /* tp_setattr */
   527     0,                                 /* tp_setattr */
   562     0,                                 /* tp_compare */
   528     0,                                 /* tp_compare */
   563     0,                                 /* tp_repr */
   529     0,                                 /* tp_repr */
   564     0,                                 /* tp_as_number */
   530     0,                                 /* tp_as_number */
   565     &dirstate_item_sq,                 /* tp_as_sequence */
   531     0,                                 /* tp_as_sequence */
   566     0,                                 /* tp_as_mapping */
   532     0,                                 /* tp_as_mapping */
   567     0,                                 /* tp_hash  */
   533     0,                                 /* tp_hash  */
   568     0,                                 /* tp_call */
   534     0,                                 /* tp_call */
   569     0,                                 /* tp_str */
   535     0,                                 /* tp_str */
   570     0,                                 /* tp_getattro */
   536     0,                                 /* tp_getattro */