Subversion Repositories Kolibri OS

Rev

Rev 7802 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1.  
  2. int cmd_ren(char param[]) {
  3.         char* argv[100];
  4.     int argc;
  5.     /*
  6.         argv[0] - path (abs or rel) to file
  7.         argv[1] - new filename
  8.     */
  9.  
  10.     argc = parameters_prepare(param, argv);
  11.     if (argc != 2) {
  12.         printf(CMD_REN_USAGE);
  13.         parameters_free(argc, argv);
  14.         return TRUE;
  15.     }
  16.     //char *x;
  17.     // argv[1] must be file name, not path
  18.     if (strrchr(argv[1], '/') != NULL) {
  19.         //printf("%d %s", x, argv[1]);
  20.         return FALSE;
  21.     }
  22.  
  23.     char *new_filename  = (char*)malloc(FILENAME_MAX); new_filename[0] = '\0';
  24.  
  25.     get_file_dir_loc(argv[0], new_filename);
  26.     if (strlen(new_filename) > 0)
  27.     {
  28.         strcat(new_filename, "/");
  29.     }
  30.     strcat(new_filename, argv[1]);
  31.  
  32.     char *mv_params = (char*)malloc(FILENAME_MAX*2 + 1); mv_params[0] = '\0';
  33.     strcat(mv_params, argv[0]);
  34.     strcat(mv_params, " ");
  35.     strcat(mv_params, new_filename);
  36.  
  37.     //printf("(%s)\n", mv_params);
  38.     int res = cmd_mv(mv_params);
  39.  
  40.     free(new_filename);
  41.     free(mv_params);
  42.  
  43.     return res;
  44. }
  45.