Bonjour tt le monde,

J'ai un petit problème au niveau de la valeur retourné d'un script shell dans un programme C avec system, voici mon script :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
cat fich1 | awk '$2 != "null" && ( $4 == "idle" || $4 == "printing" ) { printf "%-14.14s%-10.10s\n", $1, $2 } ' > /sfctrl/tmp/SpListDisp.txt
 
ret=$?
echo $ret
if test $ret -ne 0
then
    echo Error en la ejecuccion del proceso splist
    exit 99
fi
 
nbLinas=`cat /sfctrl/tmp/SpListDisp.txt | wc -l`
if [ $nbLinas -eq 0 ]
then
  echo No hay impresoras preparadas
  exit 1
fi
 
exit 0
Donc la valeur retourné par le script est soit 0, 1 ou 99, mais voilà lors de la recuperation du retour dans le programme comme suite :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
int iRet=0;
...
iRet = system(szCmd);
....
J'ai 256 si la valeur retourné est 1 !!!
Comment pourrai-je récupérer la valeur exacte retourné par le script dans le programme C.

Merci bq pour votre temps