Added char *, uid_t and gid_t types to generic conversion routines.
authorTim Potter <tpot@samba.org>
Wed, 11 Sep 2002 04:54:20 +0000 (04:54 +0000)
committerTim Potter <tpot@samba.org>
Wed, 11 Sep 2002 04:54:20 +0000 (04:54 +0000)
(This used to be commit a938863914cbfec247586c92fd06203fec7febde)

source3/python/py_conv.c
source3/python/py_conv.h

index 39b20ace8612a952cbb88b363b6dd20d98bd6b07..20302c83e87045424d3e854939fffb6302ca7d8e 100644 (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;
                }
        }
index ed06b9a852af85648c8bf8d4ff3213426a002787..24f5a66287b8ea825823f3b9ce4ae500c6a272f9 100644 (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 */