LINUX.ORG.RU

История изменений

Исправление emulek, (текущая версия) :

тут тоже можно код вставлять для Ъ

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
 
int main(void) {
char *login = strdup("login/password"); // getInput возвращает сабжевую строку
char *password = strchr(login, '/');
if (! password) {
fputs("Cannot parse", stderr);
exit(EXIT_FAILURE);
}
 
*password++ = '\0'; // ①
 
printf("login: %s\npassword: %s\n", login, password);
 
// your code goes here
return 0;
}

короче, не трогай это говно. В строке ① UB не будет, это точно. В остальном читай вышеотписавшихся.

UPD отступы побились, но хуже не стало.

Исходная версия emulek, :

тут тоже можно код вставлять для Ъ

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
 
int main(void) {
char *login = strdup("login/password"); // getInput возвращает сабжевую строку
char *password = strchr(login, '/');
if (! password) {
fputs("Cannot parse", stderr);
exit(EXIT_FAILURE);
}
 
*password++ = '\0'; // ①
 
printf("login: %s\npassword: %s\n", login, password);
 
// your code goes here
return 0;
}

короче, не трогай это говно. В строке ① UB не будет, это точно. В остальном читай вышеотписавшихся.