Rev 6725 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 6725 | Rev 6775 | ||
---|---|---|---|
Line 651... | Line 651... | ||
651 | Go back through saved list of directories, sort and set times/perms/UIDs |
651 | Go back through saved list of directories, sort and set times/perms/UIDs |
652 | and GIDs from the deepest level on up. |
652 | and GIDs from the deepest level on up. |
653 | ---------------------------------------------------------------------------*/ |
653 | ---------------------------------------------------------------------------*/ |
Line 654... | Line 654... | ||
654 | 654 | ||
- | 655 | #ifdef SET_DIR_ATTRIB |
|
- | 656 | //Trace((stderr, "SET_DIR_ATTRIB[%d] \n", num_dirs)); hmm, too big number |
|
655 | #ifdef SET_DIR_ATTRIB |
657 | |
656 | if (num_dirs > 0) { |
658 | if (num_dirs > 0) { |
657 | sorted_dirlist = (direntry **)malloc(num_dirs*sizeof(direntry *)); |
659 | sorted_dirlist = (direntry **)malloc(num_dirs*sizeof(direntry *)); |
658 | if (sorted_dirlist == (direntry **)NULL) { |
660 | if (sorted_dirlist == (direntry **)NULL) { |
659 | Info(slide, 0x401, ((char *)slide, |
661 | Info(slide, 0x401, ((char *)slide, |
Line 1481... | Line 1483... | ||
1481 | break; |
1483 | break; |
1482 | } |
1484 | } |
1483 | #else /* !WINDLL */ |
1485 | #else /* !WINDLL */ |
1484 | extent fnlen; |
1486 | extent fnlen; |
1485 | reprompt: |
1487 | reprompt: |
1486 | Info(slide, 0x81, ((char *)slide, |
1488 | Info(slide, 0x81 & 0xFE, ((char *)slide, |
1487 | LoadFarString(ReplaceQuery), |
1489 | LoadFarString(ReplaceQuery), |
1488 | FnFilter1(G.filename))); |
1490 | FnFilter1(G.filename))); |
1489 | if (fgets(G.answerbuf, sizeof(G.answerbuf), stdin) |
1491 | if (fgets(G.answerbuf, sizeof(G.answerbuf), stdin) |
1490 | == (char *)NULL) { |
1492 | == (char *)NULL) { |
1491 | Info(slide, 1, ((char *)slide, |
1493 | Info(slide, 1 & 0xFE, ((char *)slide, |
1492 | LoadFarString(AssumeNone))); |
1494 | LoadFarString(AssumeNone))); |
1493 | *G.answerbuf = 'N'; |
1495 | *G.answerbuf = 'N'; |
1494 | if (!error_in_archive) |
1496 | if (!error_in_archive) |
1495 | error_in_archive = 1; /* not extracted: warning */ |
1497 | error_in_archive = 1; /* not extracted: warning */ |
1496 | } |
1498 | } |
1497 | switch (*G.answerbuf) { |
1499 | switch (*G.answerbuf) { |
1498 | case 'r': |
1500 | case 'r': |
1499 | case 'R': |
1501 | case 'R': |
1500 | do { |
1502 | do { |
1501 | Info(slide, 0x81, ((char *)slide, |
1503 | Info(slide, 0x81 & 0xFE, ((char *)slide, |
1502 | LoadFarString(NewNameQuery))); |
1504 | LoadFarString(NewNameQuery))); |
1503 | fgets(G.filename, FILNAMSIZ, stdin); |
1505 | fgets(G.filename, FILNAMSIZ, stdin); |
1504 | /* usually get \n here: better check for it */ |
1506 | /* usually get \n here: better check for it */ |
1505 | fnlen = strlen(G.filename); |
1507 | fnlen = strlen(G.filename); |
1506 | if (lastchar(G.filename, fnlen) == '\n') |
1508 | if (lastchar(G.filename, fnlen) == '\n') |
Line 1536... | Line 1538... | ||
1536 | (fnlen can be re-used here, we are outside the |
1538 | (fnlen can be re-used here, we are outside the |
1537 | "enter new filename" loop) */ |
1539 | "enter new filename" loop) */ |
1538 | fnlen = strlen(G.answerbuf); |
1540 | fnlen = strlen(G.answerbuf); |
1539 | if (lastchar(G.answerbuf, fnlen) == '\n') |
1541 | if (lastchar(G.answerbuf, fnlen) == '\n') |
1540 | G.answerbuf[--fnlen] = '\0'; |
1542 | G.answerbuf[--fnlen] = '\0'; |
1541 | Info(slide, 1, ((char *)slide, |
1543 | Info(slide, 1 & 0xFE, ((char *)slide, |
1542 | LoadFarString(InvalidResponse), G.answerbuf)); |
1544 | LoadFarString(InvalidResponse), G.answerbuf)); |
1543 | goto reprompt; /* yet another goto? */ |
1545 | goto reprompt; /* yet another goto? */ |
1544 | } /* end switch (*answerbuf) */ |
1546 | } /* end switch (*answerbuf) */ |
1545 | #endif /* ?WINDLL */ |
1547 | #endif /* ?WINDLL */ |
1546 | } /* end if (query) */ |
1548 | } /* end if (query) */ |