- for(ptr=buf;*ptr;ptr=ptrend) {
- ptrend=index(ptr,'\n');
- *ptrend++='\0';
-
- if(!strncmp(ptr,"Rename ",7)) {
- nam1=ptr+7;
- nam1end=index(nam1,' ');
- while(strncmp(nam1end," to ",4)) {
- nam1end++;
- nam1end=index(nam1end,' ');
- }
- *nam1end='\0';
- if(ptrend[-2]=='/')
- ptrend[-2]='\0';
- un_quote_string(nam1end+4);
- if(rename(nam1,nam1end+4))
- msg_perror("Can't rename %s to %s",nam1,nam1end+4);
- else if(f_verbose)
- msg("Renamed %s to %s",nam1,nam1end+4);
- }
-#ifdef S_ISLNK
- else if(!strncmp(ptr,"Symlink ",8)) {
- nam1=ptr+8;
- nam1end=index(nam1,' ');
- while(strncmp(nam1end," to ",4)) {
- nam1end++;
- nam1end=index(nam1end,' ');
- }
- un_quote_string(nam1);
- un_quote_string(nam1end+4);
- if(symlink(nam1,nam1end+4) && (unlink(nam1end+4) || symlink(nam1,nam1end+4)))
- msg_perror("Can't symlink %s to %s",nam1,nam1end+4);
- else if(f_verbose)
- msg("Symlinkd %s to %s",nam1,nam1end+4);
- }
-#endif
- else
- msg("Unknown demangling command %s",ptr);
+ available = available_space_after (block);
+ if (available > size)
+ available = size;
+ memcpy (copy, block->buffer, available);
+ copy += available;
+ size -= available;
+ set_next_block_after ((union block *) (block->buffer + available - 1));
+ }
+
+ while (*cursor)
+ {
+ char *next_cursor;
+ char *name;
+ char *name_end;
+
+ next_cursor = strchr (cursor, '\n');
+ *next_cursor++ = '\0';
+
+ if (!strncmp (cursor, "Rename ", 7))
+ {
+
+ name = cursor + 7;
+ name_end = strchr (name, ' ');
+ while (strncmp (name_end, " to ", 4))
+ {
+ name_end++;
+ name_end = strchr (name_end, ' ');
+ }
+ *name_end = '\0';
+ if (next_cursor[-2] == '/')
+ next_cursor[-2] = '\0';
+ unquote_string (name_end + 4);
+ if (rename (name, name_end + 4))
+ ERROR ((0, errno, _("Cannot rename %s to %s"), name, name_end + 4));
+ else if (verbose_option)
+ WARN ((0, 0, _("Renamed %s to %s"), name, name_end + 4));