Lines Matching refs:prev
61 static void OsFreeDeviceDesc(struct TagDeviceDesc *prev)
63 if (prev == NULL) {
66 if (prev->dDev != NULL) {
67 free((void *)prev->dDev);
69 if (prev->dFsType != NULL) {
70 free((void *)prev->dFsType);
72 if (prev->dAddrArray != NULL) {
73 free((void *)prev->dAddrArray);
75 if (prev->dLengthArray != NULL) {
76 free((void *)prev->dLengthArray);
78 free(prev);
84 struct TagDeviceDesc *prev = NULL;
85 for (prev = g_deviceList; prev != NULL; prev = prev->dNext) {
86 if (strcmp(prev->dDev, dev) == 0) {
97 prev = (struct TagDeviceDesc *)malloc(sizeof(struct TagDeviceDesc));
98 if (prev == NULL) {
102 prev->dDev = strdup(dev);
103 prev->dFsType = strdup(fsType);
104 prev->dAddrArray = (S32 *)malloc(partNum * sizeof(S32));
105 if (prev->dDev == NULL || prev->dFsType == NULL || prev->dAddrArray == NULL) {
106 OsFreeDeviceDesc(prev);
110 (void)memcpy_s(prev->dAddrArray, partNum * sizeof(S32), addrArray, partNum * sizeof(S32));
113 prev->dLengthArray = (S32 *)malloc(partNum * sizeof(S32));
114 if (prev->dLengthArray == NULL) {
115 OsFreeDeviceDesc(prev);
119 (void)memcpy_s(prev->dLengthArray, partNum * sizeof(S32), lengthArray, partNum * sizeof(S32));
122 prev->dNext = g_deviceList;
123 prev->dPartNum = partNum;
124 g_deviceList = prev;