newfolder.c

#include <stdlib.h>
#include <libgen.h>

#include "common.h"
#include "pathutils.h"
#include "connect.h"

extern LIBMTP_folder_t *folders;
extern LIBMTP_file_t *files;
extern LIBMTP_mtpdevice_t *device;

int newfolder_command (int argc, char **argv)
{
  uint32_t newid;

  if(argc != 4) {
    printf("Usage: newfolder name <parent> <storage>\n");
    printf("  parent = parent folder or 0 to create the new folder in the root dir\n");
    printf("  storage = storage id or 0 to create the new folder on the primary storage\n");
    return 0;
  }

  newid = LIBMTP_Create_Folder(device, argv[1], atol(argv[2]), atol(argv[3]));
  if (newid == 0) {
    printf("Folder creation failed.\n");
    return 1;
  } else {
    printf("New folder created with ID: %d\n", newid);
  }
  return 0;
}

int
newfolder_function(char * path)
{
  printf("Creating new folder %s\n",path);
  char * parent = dirname(path);
  char * folder = basename(path);
  int id = parse_path (parent,files,folders);
  int newid = LIBMTP_Create_Folder(device, folder, id, 0);
  if (newid == 0) {
    printf("Folder creation failed.\n");
    LIBMTP_Dump_Errorstack(device);
    LIBMTP_Clear_Errorstack(device);
    return 1;
  } else {
    printf("New folder created with ID: %d\n", newid);
  }
  return 0;
}


Generated on Tue Jan 25 23:35:37 2011 for libmtp by  doxygen 1.5.9