Comment convertir un char[] string en int dans le noyau Linux?

Comment convertir char[] int dans le noyau linux

avec la validation que le texte entré est en fait un int?

int procfile_write(struct file *file, const char *buffer, unsigned long count,
       void *data)
{

   char procfs_buffer[PROCFS_MAX_SIZE];

    /* get buffer size */
   unsigned long procfs_buffer_size = count;
   if (procfs_buffer_size > PROCFS_MAX_SIZE ) {
       procfs_buffer_size = PROCFS_MAX_SIZE;
   }

   /* write data to the buffer */
   if ( copy_from_user(procfs_buffer, buffer, procfs_buffer_size) ) {
       return -EFAULT;
   }

   int = buffer2int(procfs_buffer, procfs_buffer_size);

   return procfs_buffer_size;
}
  • Vous êtes essentiellement à la recherche pour atoi avec une meilleure validation?
  • le noyau ne soit pas atoi ni strtol en tant que tel - le "C/C++ standard library" est uniquement disponible pour les applications en espace utilisateur. Pour beaucoup de ces fonctions il y a des équivalents fonctionnels dans le noyau de la terre, bien que, mais pas nécessairement avec le même nom.
InformationsquelleAutor caeycae | 2011-05-26