1
0
mirror of https://github.com/samba-team/samba.git synced 2025-08-03 04:22:09 +03:00

Added char *, uid_t and gid_t types to generic conversion routines.

This commit is contained in:
Tim Potter
-
parent d6d0f121d9
commit a938863914
2 changed files with 26 additions and 1 deletions

View File

@ -68,7 +68,32 @@ PyObject *from_struct(void *s, struct pyconv *conv)
break;
}
case PY_STRING: {
char *str = (char *)s + conv[i].offset;
item = PyString_FromString(str);
PyDict_SetItemString(obj, conv[i].name, item);
break;
}
case PY_UID: {
uid_t *uid = (uid_t *)((char *)s + conv[i].offset);
item = PyInt_FromLong(*uid);
PyDict_SetItemString(obj, conv[i].name, item);
break;
}
case PY_GID: {
gid_t *gid = (gid_t *)((char *)s + conv[i].offset);
item = PyInt_FromLong(*gid);
PyDict_SetItemString(obj, conv[i].name, item);
break;
}
default:
break;
}
}

View File

@ -21,7 +21,7 @@
#ifndef _PY_CONV_H
#define _PY_CONV_H
enum pyconv_types { PY_UNISTR, PY_UINT32, PY_UINT16 };
enum pyconv_types { PY_UNISTR, PY_UINT32, PY_UINT16, PY_STRING, PY_UID, PY_GID };
struct pyconv {
char *name; /* Name of member */