-
- if(amdp && rc == 0)
- return amdp;
-
- newp = alloc(sizeof(amandates_t));
- newp->name = stralloc(name);
- for(level = 0; level < DUMP_LEVELS; level++)
- newp->dates[level] = EPOCH;
- newp->next = amdp;
- if(prevp) prevp->next = newp;
- else amandates_list = newp;
-
- import_dumpdates(newp);
-
- return newp;
+ prevp = amdp;
+ amdp = amdp->next;
+ }
+ if (!(amdp && (rc == 0))) {
+ amandates_t *newp = alloc(SIZEOF(amandates_t));
+ newp->name = stralloc(name);
+ for (level = 0; level < DUMP_LEVELS; level++)
+ newp->dates[level] = EPOCH;
+ newp->next = amdp;
+ if (prevp != NULL) {
+#ifndef __lint /* Remove complaint about NULL pointer assignment */
+ prevp->next = newp;
+#else
+ (void)prevp;
+#endif
+ } else {
+ amandates_list = newp;
+ }
+ import_dumpdates(newp);
+ return newp;
+ }
+ return amdp;